java线程等待能否优化代码执行

avatar
作者
筋斗云
阅读量:0

Java线程等待可以通过使用wait()notify()方法来优化代码执行。这可以帮助避免线程资源的浪费,提高程序的效率。

在需要等待的地方,使用wait()方法让线程进入等待状态。当条件满足时,通过调用notify()方法来唤醒等待的线程继续执行。

下面是一个简单的示例代码:

public class WaitNotifyExample {     private final Object lock = new Object();     private boolean condition = false;      public void waitForCondition() {         synchronized (lock) {             while (!condition) {                 try {                     lock.wait();                 } catch (InterruptedException e) {                     Thread.currentThread().interrupt();                 }             }         }         // 执行等待之后的操作         System.out.println("Condition is true, continue execution");     }      public void setConditionTrue() {         synchronized (lock) {             condition = true;             lock.notify();         }     }          public static void main(String[] args) {         WaitNotifyExample example = new WaitNotifyExample();          Thread thread1 = new Thread(() -> {             example.waitForCondition();         });          Thread thread2 = new Thread(() -> {             try {                 Thread.sleep(2000);             } catch (InterruptedException e) {                 e.printStackTrace();             }             example.setConditionTrue();         });          thread1.start();         thread2.start();     } } 

在这个例子中,waitForCondition()方法会让线程进入等待状态,直到condition条件为true时才会继续执行。setConditionTrue()方法会设置条件为true,并调用notify()方法唤醒等待的线程。这样可以避免线程一直占用资源等待条件满足的情况发生,提高程序的效率。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!