2013-03-02 60 views
0

任何人都可以給我的代碼例如,當我需要使用Rlock,而不是簡單的lock 我無法找到使用情況下,我需要RLOCK無法理解,當我們需要Rlocking線程

蟒蛇我已閱讀本,但不能得到實際使用的是

正常鎖定對象無法獲得一次以上,甚至被 同一個線程。如果在同一個調用鏈中由多個函數訪問鎖定,則這可能會引入不希望的副作用。

+0

[@User](http://stackoverflow.com/users/1320237/user)回答了你的問題,你可以看看這個:[http://stackoverflow.com/a/16568426/5514109]( http://stackoverflow.com/a/16568426/5514109) – 2015-11-04 03:14:36

回答

0

這對於課程粒度鎖(你在鎖的同時做很多工作)是個大問題。如果一個線程嘗試多次獲取一個鎖,它將會掛起。當系統變得複雜並且許多功能獲得鎖定時,風險就會增加。假設函數f1,f2,... fn都獲得鎖。如果f1調用f2,它將掛起。如果f1調用某個其他函數,並且該函數調用f2,則它將掛起。你最終實現了兩套函數 - 獲取鎖的函數和實現函數的函數。 「outies」和「innies」。 RLocks讓你對此更加放鬆。

+0

你可以給我的代碼示例 – user192362127 2013-03-02 11:46:57

相關問題