Loo*_*oom 29 language-agnostic multithreading synchronization terminology
术语同步原语到底意味着什么?例如:互斥,临界区,等待计时器,事件,监视器,条件变量,信号量.它们都是同步原语吗?我还没有列出任何其他同步原语吗?这些是有效的问题吗?
Ada*_*man 39
同步原语是由平台(例如操作系统)提供给其用户的简单软件机制,用于支持线程或进程同步.它们通常使用较低级别的机制(例如原子操作,内存屏障,自旋锁,上下文切换等)构建.
互斥,事件,条件变量和信号量都是同步原语.共享和独占锁也是如此.Monitor通常被认为是一种高级同步工具.它是一个保证使用其他同步原语(通常是带条件变量的独占锁来支持等待和信令)的方法互斥的对象.在某些情况下,当监视器用作构建块时,它也被视为同步原语.
临界区不是同步原语.它是执行路径的一部分,必须保护它不受并发执行的影响,以便维护一些不变量.您需要使用一些同步原语来保护关键部分.