c-多线程使用的注意事项

死锁问题  
产生死锁的条件有四个:  
1.互斥条件:所谓互斥就是进程在某一时间内独占资源。  
2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。  
3.不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。  
4.循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。  

保持同一顺序  
避免复杂的逻辑  
重构代码  
锁范围缩小  

排查:windbg  
死锁问题 产生死锁的条件有四个: 1.互斥条件:所谓互斥就是进程在某一时间内独占资源。 2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 3.不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。 4.循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 保持同一顺序 避免复杂的逻辑 重构代码 锁范围缩小 排查:windbg

经验分享 程序员 微信小程序 职场和发展