線程同步是指線程之間所具有的一種制約關系,一個線程的執行依賴另一個線程
的消息,當它沒有得到另一個線程的消息時應等待,直到消息到達時才被喚醒。
線程互斥是指對於共享的進程系統資源,在各單個線程訪問時的排它性。當有若
干個線程都要使用某一共享資源時,任何時刻最多只允許一個線程去使用,其它
要使用該資源的線程必須等待,直到占用資源者釋放該資源。線程互斥可以看成
是一種特殊的線程同步。
線程間的同步方法大體可分為兩類:用戶模式和內核模式。顧名思義,內核模式
就是指利用系統內核對象的單一性來進行同步,使用時需要切換內核態與用戶態,
而用戶模式就是不需要切換到內核態,只在用戶態完成操作。
用戶模式下的方法有:原子操作(例如一個單一的全局變量),臨界區。內核模
式下的方法有:事件,信號量,互斥量。