假设您已经知道互斥量和信号量之间的基本区别:为快速、简单的同步,使用临界区。要在进程边界上同步线程,请使用互斥量。要同步对有限资源的访问,请使用信号量。除了互斥量具有所有者这一事实外,这两个对象可能被优化用于不同的用途。互斥锁旨在仅保持短时间;违反此规则可能会导致性能差和不公平调度。例如,一个运行线程可能会被允许获取互斥锁,即使另一个线程已经在其上被阻塞,从而创建死锁。信号量可能提供更多的公平性,或者可以使用几个条件变量来强制公平性。