本文主要是介绍线程同步的四项原则,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
每日一句:读比听快,做比看快, |
🍺感谢观看 |
最近在看《Linux 多线程服务端编程》,看到下面这几句话,感觉值得牢记,于是摘抄下来了~
- 首要原则是尽量最低限度地共享对象,减少需要同步的场合。一个对象能不暴露给别的线程就不要暴露;如果要暴露,优先考虑不可变对象;实在不行才暴露可修改的对象,并用同步措施来充分保护它。
- 其次是使用高级的并发编程构件,如 TaskQueue 任务队列,Producer-Consumer Queue 消费者生产者、CountDownLatch 倒计数器等等。
- 最后不得已必须使用底层同步原语(primitives)时,只用非递归的互斥器和条件变量,慎用读写锁,不要用信号量。
- 除了使用 atomic 整数之外,不自己编写 lock-free 代码,也不要使用“内核级”同步原语。不凭空猜测哪种做法性能更好,如 spin lock 和 mutex。
这篇关于线程同步的四项原则的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!