当有人说 - “线程进入对象的监视器”时,它意味着什么?

时间:2013-09-23 08:57:05

标签: java multithreading operating-system

显示器究竟是什么?是否所有对象都有监视器或只有进行同步的对象才有监视器?什么进入/移出显示器?..它们如何存储在内存中?即,它们是与它们相关的对象的一部分吗?...提前感谢... PS:我指的是Java多线程

1 个答案:

答案 0 :(得分:4)

每个对象,不仅是同步的。

JLS chapter 17

  

Java编程语言提供了多种线程间通信机制。这些方法中最基本的是同步,它是使用监视器实现的。 Java中的每个对象都与一个监视器相关联,一个线程可以锁定或解锁。一次只有一个线程可以锁定监视器。尝试锁定该监视器的任何其他线程都将被阻止,直到它们可以获得该监视器上的锁定为止。线程t可以多次锁定特定监视器;每次解锁都会逆转一次锁定操作的效果。