2013-02-24 56 views
1

我需要帮助在这种情况下,羊群处理时发生了什么?

我需要请求的处理过程中由于某种原因在文件中写的,所以我用的羊群,以确保只有一个请求的同时在文件中写。

我的问题是当请求调用在其他请求锁定期间发生的情况。它是否等到发布或只是返回false并且不打开文件?

+2

你可以用3行代码自己测试一下... – Supericy 2013-02-24 07:33:27

回答

3

按照documentation

默认情况下,该功能将阻止,直到请求获取锁

只是一定要使用正确的锁(见DOC)

  • LOCK_SH获取共享锁(阅读器)。
  • LOCK_EX获取排他锁(作家)。

基本上作家等待独占锁,这意味着它会等待所有的读者或当前作家释放(IR)锁(S)。而阅读器可能不止一个读取文件。

和,以释放锁定

  • LOCK_UN释放锁(共享或排)。