
正文
实现两线程的同步一(wait/notify)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1、使用Object的wait和notify
public class WaitAndNotifyDemo {
public static void main(String[] args) throws InterruptedException {
MThread mThread = new MThread();
synchronized (mThread) {
try {
mThread.start();
// 主线程睡眠3s
Thread.sleep(3000);
System.out.println("before wait");
// 阻塞主线程
mThread.wait();
System.out.println("after wait");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class MThread extends Thread {
public void run() {
synchronized (this) {
System.out.println("before notify");
notify();
System.out.println("after notify");
}
}
}
运行结果:
before wait
before notify
after notify
after wait
两线程执行图序:





