1.?Windows線程同步的四種方式
2.?區別
- Critical Section更多強調的是保護,Event對象、Mutex對象與Semaphore對象更多的強調的是同步;
- Critical Section對象是無法設置等待超時的,而其他三個對象則可以設置等待超時,從這一點來講,在使用Critical Section對象時,由于在等待進入關鍵代碼段時無法設置等待超時,很容易造成死鎖;
- Critical Section對象是線程鎖,而其他三個對象是進程鎖。這一點從本質上來分析,Critical Section對象是用戶態模式下面實現線程同步的方法,而其他三個對象均是內核對象。內核對象機制的適應性遠遠優于用戶方式機制。實際上,內核對象機制的唯一不足之處在于它的速度比較慢,這是因為當調用內核機制對象時,必須從用戶方式轉到內核方式;
- Critical Section和Event為遞歸鎖。