我使用以下资源来总结 Java 监视器,
http://www.informit.com/store/concurrent-programming-in-java-design-principles-and-9780201310092
以下是我在Java上下文中的理解总结,
Monitor 是一个被授予线程的对象。这 > 意味着在 Java 中说所有对象都是监视器 > 这意味着每个对象都具有线程感知特性。
线程是一个活动对象。其他对象是被动的>但知道线程。因此监视器!换句话说,被动对象已被智能化。
为什么叫“监控器”,因为它监控自己!从何而来 ?>来自活动对象,即线程
监视器有什么意识?
a) 它知道当前是哪个线程访问它。{owner}
b)它知道有哪些线程在等待它,直到满足特殊条件>。{wait set}
c) 它知道谁在排队进入它{entry set}
那么线程如何成为对象的所有者,它必须>获取该对象的锁!
1 对象是锁还是有锁?
2 以上a、b、c 是对象状态的一部分还是由JVM 跟踪(保持记录并将其与对象ID 等相关联)?