用于锁的Java文档在lock、lockInterruptibly和tryLock方法的文档中包含以下语句。
lock实现可以检测到锁的错误使用,例如会导致死锁的调用,并可能在这种情况下抛出(未检查的)异常。这种情况和异常类型必须由Lock实现来记录。
Java8API中的Lock接口是否有任何实际尝试检测这种“错误使用”的实现?
发布于 2015-11-27 08:47:18
因此,经过进一步的研究,我得出的结论是,答案显然是:
No.在标准Java8API中没有一个锁实现尝试这样做。
但是,有些库具有检测(潜在)死锁的机制,这些机制利用锁方法的Java中提供的显式权限抛出RuntimeException。这样一种机制的一个例子是番石榴CycleDetectingLockFactory,这是Louis在评论中提到的。
https://stackoverflow.com/questions/33939927
复制相似问题