亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
linux 多線程 鎖 求助
[打印本頁]
作者:
longmm1988
時間:
2011-08-03 11:47
標(biāo)題:
linux 多線程 鎖 求助
在很多系統(tǒng)上,當(dāng)一個鎖的owner沒有釋放該unix鎖,就退出了,那么默認(rèn)的方式就是其它線程再去加這個unix鎖的時候,就會阻塞,造成死鎖。而通過不同的屬性初始化這個鎖,我們能夠改變這種默認(rèn)的方式:
pthread_mutexattr_setprotocol(&mattr, PTHREAD_PRIO_INHERIT);
pthread_mutexattr_setrobust_np(&mattr,PTHREAD_MUTEX_ROBUST_NP);
通過設(shè)置鎖的上面兩個屬性,我們就改變了默認(rèn)的行為,當(dāng)一個unix鎖的owner死掉后,其它線程再去加這個鎖的時候,不會被阻塞,而是通過返回值EOWNERDEAD來報告錯誤,那么你可以根據(jù)這個錯誤來進行處理:首先是應(yīng)該調(diào)用pthread_mutex_consistent_np函數(shù)來恢復(fù)該鎖的一致性,然后調(diào)用解鎖pthread_mutex_unlock,接下來在調(diào)用加鎖,這樣該鎖的行為就恢復(fù)正常了。
這是我在網(wǎng)上找的一篇文章,我的問題是 pthread_mutex_consistent_np函數(shù)是做什么用的 ???
什么是mutex鎖的一致性????
為什么要恢復(fù)鎖的一致性????
謝謝各位大俠 在線等待。。
作者:
oooooxxxxx
時間:
2011-08-05 04:02
就是做這個用啊,至于內(nèi)部原理你管他呢,等你用的熟了自然就知道了
作者:
longmm1988
時間:
2011-08-05 10:21
好吧 暫時聽你的啦~~
作者:
smalloc
時間:
2011-08-05 11:41
如果沒記錯的話。pthread_mutex鎖是解鎖必須由上鎖的線程執(zhí)行,而不能一個線程上鎖另一個解鎖。
而那個上鎖的進程已經(jīng)死了。那么這個函數(shù)應(yīng)該是用來接管這個鎖,就是把鎖的從屬歸到本線程,這個時候就能成功解鎖了,好象是這樣的
作者:
longmm1988
時間:
2011-08-05 14:04
回復(fù)
4#
smalloc
恩 這個解釋比較合理。。贊一個。。
作者:
qiangtoucao121
時間:
2011-08-05 20:03
頂后再看
作者:
cxm240
時間:
2013-04-15 11:12
回復(fù)
4#
smalloc
這個說法比較有說服力
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2