并发机制 说明
信号量         用于进程间传递信号的一个整数值。在信号量上只有三种操作可以执行,初始化、增加和递减,这三种操作都是原子操作。递减操作可以用于阻塞一个进程,增加操作可以用于解除阻塞一个进程。也成为计数信号量或者一般信号量。
二元信号量         只取0值和1值的信号量。
互斥量         类似于二元信号量。关键区别在于为其加锁(设值为0)的进程和为其解锁(设值为1)的进程必须是同一个进程。
条件变量
        一种数据类型,用于阻塞进程或者线程,直到特定条件为真。
管程         一种编程语言结构,在一个抽象数据类型中封装额变量、访问过程和初始化代码。管程的变量只能由管程自己的访问过程来访问,每次只能有一个进程在其中执行。访问过程即临界区。管程可以有一个的等待进程队列。
事件标志         作为同步机制的一个内存字。应用程序代码可以为标志中的每个位关联不同的事件。通过测试相关的一个或多个位,线程可以等待一个或多个事件。在全部的所需位都被设定(AND)或至少一个设定位(OR)之前,线程会被一直阻塞。
信箱/消息         两个进程交换信息的一种方法,也可以用于同步。
自旋锁         一种互斥机制,进程在一个无条件循环中执行,等待锁变量的值变为可用。