線程同步的方式有哪幾種

來源:趣味百科館 1.04W

線程同步的方式有哪幾種

線程同步的方式有4種:事件、信號量、臨界區、互斥量。

1、事件: 通過通知操作的方式來保持線程的同步,還可以方便實現對多個線程的優先級比較的操作。

2、信號量:它允許多個線程在同一時刻訪問同一資源,但是需要限制在同一時刻訪問此資源的最大線程數目。

3、臨界區:通過對多線程的串行化來訪問公共資源或一段代碼,速度快,適合控制數據訪問。在任意時刻只允許一個線程對共享資源進行訪問,如果有多個線程試圖訪問公共資源,那麼在有一個線程進入後,其他試圖訪問公共資源的線程將被掛起,並一直等到進入臨界區的線程離開,臨界區在被釋放後,其他線程纔可以搶佔。

4、互斥量:採用互斥對象機制。 只有擁有互斥對象的線程纔有訪問公共資源的權限,因爲互斥對象只有一個,所以能保證公共資源不會同時被多個線程訪問。互斥不僅能實現同一應用程序的公共資源安全共享,還能實現不同應用程序的公共資源安全共享。


熱門標籤