2012-12-10 31 views

回答

2

您可以使用模块threading2的类SHLock。

此类的获取方法除了常用的参数外,还有布尔可选参数shared,默认为False

为参数的名字说,如果sharedTrue你所要求获取共享锁,而不是如果sharedFalse您要求获取排它锁。

在读者/作者的问题中,读者应该获得一个共享锁,而作者应该获得一个不共享(独占)锁。

它实现了锁定,确保读者和作者都不饿。

+0

感谢您指点我的解决方案。 SHLock可以配置为写者偏好吗? – iruvar

+0

不幸的是,它不能。 – Irr

+0

对于指向threading2的指针+1,但我真的在寻找一个作家偏见的锁定实现 – iruvar