用java实现Wait和nitify的代码
时间: 2023-05-18 09:06:12 浏览: 55
以下是使用Java实现Wait和Notify的代码示例:
```java
public class WaitNotifyExample {
public static void main(String[] args) {
final Object lock = new Object();
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
synchronized (lock) {
System.out.println("Thread 1 is waiting...");
try {
lock.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("Thread 1 is notified!");
}
}
});
Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
synchronized (lock) {
System.out.println("Thread 2 is notifying...");
lock.notify();
}
}
});
thread1.start();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
thread2.start();
}
}
```
在这个示例中,我们创建了两个线程,一个线程等待另一个线程通知它。我们使用一个对象锁来同步这两个线程。线程1在锁上调用wait()方法,使线程1进入等待状态,直到另一个线程在同一个锁上调用notify()方法。线程2在锁上调用notify()方法,唤醒等待的线程1。