digoal
2016-11-07
postgresql , 同步流複制 , mutex , linux
在使用postgresql實作同步流複制時,在主節點發現有大量的mutex,導緻了寫并發被限制。
本文為轉載文章
<a href="http://blog.csdn.net/cug_fish_2009/article/details/6126414">http://blog.csdn.net/cug_fish_2009/article/details/6126414</a>
互斥鎖的使用也是保持核心臨界區的同步的,互斥鎖可以說源于信号量,信号量設定計數器可以容許n個程序并發的通路臨界區,而互斥鎖不行,隻能容許每次一個程序通路,也就是計數器值為1的信号量,
可以這麼了解。互斥鎖和自旋鎖有不同(顯然的),互斥鎖在中斷處理程式中和可延遲函數中都不能使用,因為它是可以睡眠的,隻能在程序上下文或者軟中斷上下文才能使用。
2-1-1、mutex結構體:
2-1-2、mutex_waiter結構體:
2-2-1、初始化:
2-2-2、鎖住:
2-2-3、釋放鎖:
互斥鎖是比較難了解的,希望多花點時間,多看點資料,結合一些具體情況。