201 - 问,临界区 信号量的区别

201 - 问,临界区 信号量的区别

二元信号量 Binary Semaphore

适合只能被唯一一个线程独占访问的资源。

系统级别。

任意线程获取,任意线程释放。

(多元)信号量 Semaphore

适于允许多个线程并发访问的资源。

系统级别。

任意线程获取,任意线程释放。

互斥量 Mutex

系统级别。

哪个线程获取,哪个线程释放。

临界区

进程内。

哪个线程获取,哪个线程释放。

读写锁

共享获取

独占获取

条件变量

可以让许多线程一起等待某个事件的发生。

你可能感兴趣的:(201 - 问,临界区 信号量的区别)