品易云推流 关闭
文章 > java基础 > java使用wait改变线程状态

java使用wait改变线程状态

java

头像

小妮浅浅

2021-04-09 15:48:08637浏览 · 0收藏 · 0评论

1、说明

属于Object类,对象调用wait方法后,释放现在持有对象锁的线程,进入等待队列。对方调用notify从等待队列的随机选择线程唤醒竞争对手的锁定,对方调用notifyall等待队列的所有线程唤醒竞争对手的锁定。

2、实例

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();
    }
}

以上就是java使用wait改变线程状态的方法,希望对大家有所帮助。更多Java学习指路:Java基础

关注公众号

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图 底部广告图按钮