编写线程安全的UNIX代码的提示?

bod*_*ydo 2 c unix multithreading thread-safety

在C和C++中编写线程安全的UNIX代码有哪些指导原则?

我只知道几个:

  • 不要使用全局变量
  • 不要使用静态本地存储

其他人在那里?

D.S*_*ley 6

简单的事情是阅读一点.以下列表包含一些要查看和研究的内容.

  1. 花时间阅读Open Group Base Specification,特别是General Information部分和有关线程小节.这是大多数UN*X系统下多线程的基础信息.
  2. 了解互斥锁和信号量之间区别
  3. 意识到共享的一切必须得到保护.这适用于全局变量,static变量和任何共享动态分配的内存.
  4. 条件变量替换全局状态标志.这些是使用pthread_cond_init和相关的功能实现的.

了解基础知识后,了解常见问题,以便在出现问题识别它们: