自学内容网 自学内容网

线程同步的四项原则

每日一句:读比听快,做比看快,
🍺感谢观看

最近在看《Linux 多线程服务端编程》,看到下面这几句话,感觉值得牢记,于是摘抄下来了~

  1. 首要原则是尽量最低限度地共享对象,减少需要同步的场合。一个对象能不暴露给别的线程就不要暴露;如果要暴露,优先考虑不可变对象;实在不行才暴露可修改的对象,并用同步措施来充分保护它。
  2. 其次是使用高级的并发编程构件,如 TaskQueue 任务队列,Producer-Consumer Queue 消费者生产者、CountDownLatch 倒计数器等等。
  3. 最后不得已必须使用底层同步原语(primitives)时,只用非递归的互斥器和条件变量,慎用读写锁,不要用信号量。
  4. 除了使用 atomic 整数之外,不自己编写 lock-free 代码,也不要使用“内核级”同步原语。不凭空猜测哪种做法性能更好,如 spin lock 和 mutex。

原文地址:https://blog.csdn.net/qq_43085611/article/details/137527121

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!