第22天
1. 多线程 1.1 线程状态 WAITING(无限等待) 当线程被执行wait()方法时,会被施加 “长睡不醒” 的魔法。此时,它不能自己唤醒自己,必须经过别的线程的帮助( notify() / notifyAll() )才能醒过来。 【注意】 notify() / notifyAll() 不仅能唤醒无限等待状态线程,还能开启【锁对象】。 如果是生产者与消费者的情况时,若wait()方法不在同步代码块中,则会产生丢失唤醒的骚操作,即生产者生产完成时,还未做出wait等待时,被消费者插队取走了货物。而此时消费者发出notify信号,但是生产者不会接收notify信号(因为没有wait),等消费
用户评论