介绍 wait、notify 和 notifyAll 方法

张开发
2026/6/10 7:25:08 15 分钟阅读

分享文章

介绍 wait、notify 和 notifyAll 方法
“嗨,阿米戈!”“嗨,里希!”“我将向您介绍 Object 类的wait、notify和notifyAll方法。”“今天我们只是熟悉一下它们,但我们稍后会回来,花更多时间在这上面。”“好的。”“这些方法是作为线程同步机制的一部分而发明的。”“让我提醒你,Java 有一个内置的机制来控制不同线程对共享资源(对象)的访问。一个线程可以声明一个对象处于忙碌状态,其他线程将不得不等待,直到这个忙碌的对象被释放。 ““我记得。你用同步关键字来做到这一点。”“对。通常,代码看起来像这样:”public void print() { Object monitor = getMonitor(); synchronized(monitor) { System.out.println("text"); } }“还记得它是如何工作的吗?”“是的。如果两个线程同时调用 print() 方法,其中一个线程将进入标记为 synchronized 的块并锁定监视器,这使得第二个线程将等待直到监视器被释放。”“对。一旦一个线程进入标记为synchronized的块,monitor对象就被标记为busy,其他线程将被迫等待monitor对象被释放。同一个monitor对象可以在程序的各个部分使用。 “

更多文章