唤醒等待对象
- Object对象
- Object中的wait等待方法
- object中的notify()方法
下面是代码
package cn.等待唤醒;
public class waitnotify {
public static void main(String[] args) {
Object obj = new Object();
// 创建消费者线程
new Thread(){
@Override
public void run(){
// 保证等待和唤醒线程只能有一个执行用同步技术
synchronized (obj){
System.out.println("告诉老板包子种类跟状态");
try {
obj.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
// 唤醒之后执行的代码
System.out.println("包子做好开吃");
}
}
}.start();
// 创建老板线程
new Thread(){
@Override
public void run(){
// 保证等待和唤醒线程只能有一个执行用同步技术
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (obj){
System.out.println("五秒钟以后来吃包子");
obj.notify();
}
}
}.start();
}
}
obj.notifyAll()
唤醒多个线程
obj.wait()
带参加毫秒值到时间就唤醒