java中如何使用wait改变线程状态
作者:暮色微凉
时间:2023-04-27
浏览:1
说明1、属于Object类,对象调用wait方法后,释放现在持有对象锁的线程,进入等待队列。2、对方调用notify从等待队列的随机选择线程唤醒竞争对手的锁定,对方调用notifyall等待队列的所有线程唤醒竞争对手的锁定。实例publicclassDemo{publicstaticvoidmain(String[]args){Demodemo=newDemo();Threadt1=newThread(()->{synchronized(demo){System.out.println("t1start"
说明
1、属于Object类,对象调用wait方法后,释放现在持有对象锁的线程,进入等待队列。
2、对方调用notify从等待队列的随机选择线程唤醒竞争对手的锁定,对方调用notifyall等待队列的所有线程唤醒竞争对手的锁定。
实例
public class Demo {
public static void main(String[] args) {
Demo demo = new Demo();
Thread t1 = new Thread(() -> {
synchronized (demo) {
System.out.println("t1 start");
try {
demo.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("t1 end");
}
});
Thread t2 = new Thread(() -> {
synchronized (demo) {
System.out.println("t2 start");
System.out.println("t2 end");
demo.notify();
}
});
t1.start();
t2.start();
}
}
作者最新文章
3dmax安装失败全是叉怎么回事?原因及解决方法
2026-10-07 10:55
Win11系统WinRAR右键选项找不到怎么解决
2026-10-01 16:58
Photoshop文字外框怎么设置?给文字加边框的实用方法
2026-09-22 16:12
3dmax快捷键失效了怎么办
2026-09-16 13:53
Xiaomi 18 Fold首销数据解读:较上代大折叠增长310%的原因与配置分析
2026-09-08 16:55
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多










































