温馨提示×

java线程等待如何精确控制

小樊
85
2024-07-09 15:06:24
栏目: 编程语言

在Java中,可以使用wait()notify()方法来精确控制线程的等待和唤醒。

  1. 使用wait()方法使线程等待:
synchronized(object) {
    while(condition) {
        object.wait();
    }
}

在上面的代码中,使用synchronized关键字锁定一个对象,然后在一个循环中检查条件是否满足,如果条件不满足,则调用wait()方法使线程等待。

  1. 使用notify()方法唤醒等待的线程:
synchronized(object) {
    object.notify();
}

在上面的代码中,同样使用synchronized关键字锁定一个对象,然后调用notify()方法来唤醒等待的线程。

需要注意的是,wait()notify()方法必须在synchronized块中使用,并且对同一个对象进行操作。这样才能确保线程等待和唤醒的正确性。

另外,还可以使用wait(long timeout)方法设置等待的超时时间,以及使用notifyAll()方法唤醒所有等待的线程。

0