线程同步的四项原则

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

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

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

相关推荐

  1. 线同步原则

    2024-04-08 23:58:05       31 阅读
  2. 《C++()--线同步

    2024-04-08 23:58:05       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 23:58:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 23:58:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 23:58:05       82 阅读
  4. Python语言-面向对象

    2024-04-08 23:58:05       91 阅读

热门阅读

  1. 解决Redission的RList查询list数据过慢的问题

    2024-04-08 23:58:05       34 阅读
  2. 自动导入和注册在当前目录下的所有自定义指令

    2024-04-08 23:58:05       28 阅读
  3. meshgrid如何生成网格

    2024-04-08 23:58:05       27 阅读
  4. Python 描述符

    2024-04-08 23:58:05       33 阅读
  5. 常用启发式算法简介:从迷宫到机器学习

    2024-04-08 23:58:05       27 阅读
  6. SPMI 协议简介

    2024-04-08 23:58:05       32 阅读
  7. C++递推算法

    2024-04-08 23:58:05       34 阅读
  8. 网络通信的隐形护卫

    2024-04-08 23:58:05       33 阅读
  9. 10.左右相同(省模拟赛)

    2024-04-08 23:58:05       32 阅读
  10. python 函数

    2024-04-08 23:58:05       26 阅读
  11. [RK-Linux] RK3399启动流程详解

    2024-04-08 23:58:05       40 阅读
  12. 数据库的介绍、分类、作用和特点

    2024-04-08 23:58:05       42 阅读
  13. 【Go高阶】细说 Channel 的进阶用法

    2024-04-08 23:58:05       34 阅读
  14. Docker Desktop安装

    2024-04-08 23:58:05       45 阅读