[英]How java lock knows what resources should be locked
我正在學習 Java 並發,在很多情況下我看到了
try{
writeLock.lock();
// ...
} finally {
writeLock.unlock();
}
但是,我想知道 Java 編譯器如何知道應該在 try 語句的主體內鎖定哪些資源,因為沒有明確指示哪些對象被鎖定?
被鎖定的 object 是“writeLock”。
您可能打算通過使用鎖來保護的資源僅在您仔細確保對這些資源的所有訪問都以您想要的方式使用鎖的范圍內受到保護。
如果顯示的代碼是那里的所有代碼(訪問受保護的資源),那么你很好。 但是,如果您在其他地方編寫的代碼修改了相同的資源而沒有首先獲取相同的 writeLock,那么您可能會遇到並發錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.