正在使用鎖(java.util.concurrent.locks.Lock
)而不是關鍵字方法wait()
和方法notify()
完全一樣嗎?顯式鎖vs隱式鎖
我可以線程安全程序中使用鎖(鎖明確),而不是隱鎖()?
由於知道的我一直使用隱式鎖。我知道由像方法Lock
接口實現給出的優點:isLocked()
,getLockQueueLength()
,getHoldCount()
,等等...但還是老派的方式(wait()
和notify()
)將有比沒有這些方法以外的其他限制?
我也知道的建設有一個(布爾公平)參數,允許缺乏飢餓的鎖的可能性。
好吧,它不是*完全相同,就好像它們在100%相同的情況下一樣,那麼其中一個的存在將是多餘的;-) –
@Joachim Sauer當然,這不是編程語言第一次有兩個相同的做同樣事情的方法。 – Patashu
@Patashu:當然不是。但是如果沒有至少一些優點(比如'isLocked()'方法,...),他們不太可能在第一個選項後面添加第二個選項。 –