Linux下线程pthread以及锁的一些总结和代码参考
对于linux下线程pthread的认识以及锁的相关概念等等,作为小白的我推荐这一篇比较好的文章,也谢谢大牛的分享: http://casatwy.com/pthreadde-ge-chong-tong-bu-ji-zhi.html 对于只使用基本mutex的同学,摘录文章中的一段话,共同勉励,一起养成良好的编码规范: 如果要进入一段临界区需要多个mutex锁,那么就很容易导致死锁,单个mutex锁是不会引发死锁的。要解决这个问题也很简单,只要申请锁的时候 按照固定顺序,或者及时释放不需要的mutex锁就可以。这就对我们的代码有一定的要求,尤其是全局mutex锁的时候,更需要遵守一个约定。 如果是全局mutex锁,我习惯将它们写在同一个头文件里。 一个模块的文件再多,都必须要有两个umbrella header file。一个是整个模块的伞,外界使用你的模块的时候,只要include这个头文件即可。另一个用于给模块的所有子模块去include,然后这个头 文件里面就放一些公用的宏啊,配置啊啥的,全局mutex放在这里就最合适了。 这两个文件不能是同一个,否则容易出循环include的问题。如果有人写 模块不喜欢写这样的头文件的,那现在就要改了。 然后我的mutex锁的命名规则就是: 作用_mutex_序号 ,比 如 LinkListMutex_mutex_1 ,