说明
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(); } }
以上就是java使用wait改变线程状态的方法,希望对大家有所帮助。更多Java学习指路:Java基础
本教程操作环境:windows7系统、java10版,DELL G3电脑。