2013-02-24 83 views
1

我需要幫助在這種情況下,羊羣處理時發生了什麼?

我需要請求的處理過程中由於某種原因在文件中寫的,所以我用的羊羣,以確保只有一個請求的同時在文件中寫。

我的問題是當請求調用在其他請求鎖定期間發生的情況。它是否等到發佈或只是返回false並且不打開文件?

+2

你可以用3行代碼自己測試一下... – Supericy 2013-02-24 07:33:27

回答

3

按照documentation

默認情況下,該功能將阻止,直到請求獲取鎖

只是一定要使用正確的鎖(見DOC)

  • LOCK_SH獲取共享鎖(閱讀器)。
  • LOCK_EX獲取排他鎖(作家)。

基本上作家等待獨佔鎖,這意味着它會等待所有的讀者或當前作家釋放(IR)鎖(S)。而閱讀器可能不止一個讀取文件。

和,以釋放鎖定

  • LOCK_UN釋放鎖(共享或排)。