您的位置:首页 > 运维架构 > Linux

Linux同步机制 - 多线程开发总结

2015-09-18 14:57 489 查看
1 对于CPU开销大的场景,能利用多核,就尽量利用多核(常常自以为某需求的运算量不大,且CPU足够快,就偷懒写个单线程,结果效率很低)

2 使用多线程的时候,默认是加锁的。在加锁保证业务正常的条件下,再考虑优化互斥锁带来的性能损耗

互斥锁 < 读写锁 <
自旋锁 < 无锁(原子操作)

3 减少线程之间的相关性

线程间共享变量 <
线程内变量 < 函数式编程(没有变量)

4 尽量减少锁的粒度

a.      减少加锁的代码段(减少加锁的时间)

b.      分成多个锁,减少竞争(使用细粒度的锁,如MyISAM和InnoDB)

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息