# wait指定时间
package com.mrzhang.javalearn.bingfa.demo_03;
/**
* wait、notify、notifyAll使用(二)
* <p>
* 1. wait之后无人唤醒
* 2. wait指定时间自醒
*
* @author 91MrZhang on 2020/7/31
*/
public class WaitOrNotifyDemo02 {
private final Object lock = new Object();
public void m1() {
synchronized (lock) {
System.out.println("m1放弃锁");
try {
lock.wait();
//lock.wait(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("m1重新获得锁,执行完成");
}
}
public void m2() {
synchronized (lock) {
System.out.println("m2获得锁并且执行完成");
}
}
public static void main(String[] args) {
WaitOrNotifyDemo02 wnd02 = new WaitOrNotifyDemo02();
new Thread(wnd02::m1, "线程1号").start();
new Thread(wnd02::m2, "线程2号").start();
}
}
← 基本概念 notify和notifyAll →