diff --git a/s-day06/src/com/inmind/wait_notify08/Demo09.java b/s-day06/src/com/inmind/wait_notify08/Demo09.java new file mode 100644 index 0000000..4a841a2 --- /dev/null +++ b/s-day06/src/com/inmind/wait_notify08/Demo09.java @@ -0,0 +1,21 @@ +package com.inmind.wait_notify08; +/* + 等待唤醒中的方法 + void wait() 导致当前线程等待,直到另一个线程调用该对象的 notify()方法或 notifyAll()方法。 + void notify() 唤醒正在等待对象监视器(锁对象)的单个线程。 + void notifyAll() 唤醒正在等待对象监视器(锁对象)的所有线程。 + + 注意:只有在同步代码块中才有锁对象,只有锁对象才能调用以上api,否则报非法监视器状态异常 + 一定是同步代码块或者同步方法中才有锁对象 + */ +public class Demo09 { + public static void main(String[] args) throws Exception { + Object obj = new Object(); + //同步代码块 + synchronized (obj){//此时obj才是锁对象 + //导致当前main线程无限等待 + obj.wait(); + } + System.out.println("程序结束"); + } +}