1. 互斥量用於線程的互斥,信號量用於線程的同步。html
這是互斥量和信號量的根本區別,也就是互斥和同步之間的區別。多線程
互斥:是指某一資源同時只容許一個訪問者對其進行訪問,具備惟一性和排它性。但互斥沒法限制訪問者對資源的訪問順序,即訪問是無序的。post
同步:是指在互斥的基礎上(大多數狀況),經過其它機制實現訪問者對資源的有序訪問。在大多數狀況下,同步已經實現了互斥,特別是全部寫入資源的狀況一定是互斥的。少數狀況是指能夠容許多個訪問者同時訪問資源url
以上區別是主要想記住的。spa
note:信號量能夠用來實現互斥量的功能
線程
2. 互斥量值只能爲0/1,信號量值能夠爲非負整數。htm
也就是說,一個互斥量只能用於一個資源的互斥訪問,它不能實現多個資源的多線程互斥問題。信號量能夠實現多個同類資源的多線程互斥和同步。當信號量爲單值信號量是,也能夠完成一個資源的互斥訪問。blog
3. 互斥量的加鎖和解鎖必須由同一線程分別對應使用,信號量能夠由一個線程釋放,另外一個線程獲得。資源
copy from:get
http://www.cnblogs.com/lbsx/archive/2009/08/03/1537698.html