UNIX 环境多线程编程的几点注意

这个标题写得有点大,其实只是这几天在追踪修复 xunsearch 搜索进程(多线程)死锁时碰到的一系列可能问题的总结和记录。

1. 线程取消时一定要注意“取消点”,特别容易导致死锁
2. 多线程处理信号时谨防在信号处理时,其它线程又产生了别的信号从而引发不可预测的后果,该屏蔽就暂时屏蔽掉,或者加入相关的变量来判断。
3. 多线程交叉判断的全局变量,最好加上 volatile 关键字
4. 结束进程时如无特殊要求建议直接用 _exit() 而不是 exit()
5. … 慢慢补充 …

发表评论

电子邮件地址不会被公开。 必填项已用*标注