项目结构:

Java线程的等待与唤醒完整示例代码_解决方法

 

Java线程的等待与唤醒完整示例代码_线程安全_02

资源类:

Java线程的等待与唤醒完整示例代码_线程安全_03

 

输入线程:

Java线程的等待与唤醒完整示例代码_项目结构_04

 

 输出线程:

Java线程的等待与唤醒完整示例代码_线程安全_05

 

测试:

Java线程的等待与唤醒完整示例代码_解决方法_06

 

人妖问题发生:

Java线程的等待与唤醒完整示例代码_项目结构_07

 

线程安全问题的解决方法:

Java线程的等待与唤醒完整示例代码_解决方法_08

Java线程的等待与唤醒完整示例代码_项目结构_09

 

 

Java线程的等待与唤醒完整示例代码_解决方法_10

Java线程的等待与唤醒完整示例代码_线程安全_11

Java线程的等待与唤醒完整示例代码_线程安全_12

 

调用Object的wait()和notify()方法时需注意:必须是锁对象方可调用,否则将抛出无效的监视器异常。

Java线程的等待与唤醒完整示例代码_项目结构_13

 

 打印结果:

Java线程的等待与唤醒完整示例代码_解决方法_14