临界区、互斥量、事件、信号量四种方式
生活随笔
收集整理的這篇文章主要介紹了
临界区、互斥量、事件、信号量四种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
臨界區(Critical Section)、互斥量(Mutex)、信號量(Semaphore)、事件(Event)的區別
1、臨界區:通過對多線程的串行化來訪問公共資源或一段代碼,速度快,適合控制數據訪問。在任意時刻只允許一個線程對共享資源進行訪問,如果有多個線程試圖訪問公共資源,那么在有一個線程進入后,其他試圖訪問公共資源的線程將被掛起,并一直等到進入臨界區的線程離開,臨界區在被釋放后,其他線程才可以搶占。
2、互斥量:采用互斥對象機制。 只有擁有互斥對象的線程才有訪問公共資源的權限,因為互斥對象只有一個,所以能保證公共資源不會同時被多個線程訪問。互斥不僅能實現同一應用程序的公共資源安全共享,還能實現不同應用程序的公共資源安全共享
3、信號量:它允許多個線程在同一時刻訪問同一資源,但是需要限制在同一時刻訪問此資源的最大線程數目
4、事 件: 通過通知操作的方式來保持線程的同步,還可以方便實現對多個線程的優先級比較的操作
總結
以上是生活随笔為你收集整理的临界区、互斥量、事件、信号量四种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AC---上网行为管理
- 下一篇: PAC与样本复杂度