Fixes #198
This commit is contained in:
chai2010
2016-01-18 11:22:04 +08:00
parent 884ada9cd0
commit 9666211cd7
71 changed files with 107 additions and 105 deletions

View File

@@ -20,5 +20,5 @@ Balance函數現在調用了RLock和RUnlock方法來獲取和釋放一個讀取
RLock隻能在臨界區共享變量沒有任何寫入操作時可用。一般來説我們不應該假設邏輯上的隻讀函數/方法也不會去更新某一些變量。比如一個方法功能是訪問一個變量,但它也有可能會同時去給一個內部的計數器+1(譯註:可能是記録這個方法的訪問次數啥的),或者去更新緩存--使卽時的調用能夠更快。如果有疑惑的話,請使用互斥鎖。
RWMutex隻有當獲得鎖的大部分goroutine都是讀操作而鎖在競爭條件下也就是説goroutine們必等待才能獲取到鎖的時候RWMutex才是最能帶來好處的。RWMutex需要更複雜的內部記録所以會讓它比一般的無競爭鎖的mutex慢一些。
RWMutex隻有當獲得鎖的大部分goroutine都是讀操作而鎖在競爭條件下也就是説goroutine們必等待才能獲取到鎖的時候RWMutex才是最能帶來好處的。RWMutex需要更複雜的內部記録所以會讓它比一般的無競爭鎖的mutex慢一些。