==== Mutex爲互斥鎖,顧名思義,被Mutex鎖住的代碼同時只容許一個協程訪問,其它協程進來就要排隊併發
如何使用?看代碼:協程
輸出:blog
釋義:資源
併發1000個協程同時更改m的元素,這樣會有一部分更改爲功,可是還有一部分會出現竟態,形成併發錯誤,輸出結果很明瞭im
如何避免:cpu
放開26行,30行即可img
做用是鎖住臨界區28行,這樣就能保證28行同時只有一個協程訪問,其餘協程進來得排隊,等待上一個協程釋放資源,即解鎖。co
==== RWMutex爲讀寫鎖錯誤
容許多個讀者訪問共享資源,可是隻能有一個寫者。不能同時既有讀者又有寫者。讀者的個數和cpu核心數相關,用戶與Mutex相同ps