我听说对对象使用synchronized
关键字会创建一个等待池,用于存储与对象关联的等待线程。它是如何在记忆中表现出来的?
答案 0 :(得分:1)
您可以查看有关Intrinsic Locks and Synchronization
的Java文档每个对象都有一个与之关联的内在锁。按照惯例, 需要对对象进行独占和一致访问的线程 字段必须在访问之前获取对象的内部锁 它们,然后在它们完成后释放内在锁。一个 据说线程拥有它之间的内在锁定 获得了锁并释放了锁。只要一个线程拥有一个 内部锁定,没有其他线程可以获得相同的锁定。另一个 线程在尝试获取锁时会阻塞。
还有这个: