notify怎么唤醒线程
notify怎么唤醒线程
就像那句话,你永远叫不醒一个装睡的人,线程也一样,
当一个拥有Object锁的线程调用 wait()方法时,就会使当前线程加入object.wait 等待队列中,并且释放当前占用的Object锁,这样其他线程就有机会获取这个Object锁,获得Object锁的线程调用notify()方法,就能在Object.wait 等待队列中随机唤醒一个线程???
(有很多地方都说随机唤醒,其实看了原码就知道 不是随机的)
先等待先唤醒,有优先级的话 优先级高的被唤醒概率会高
notifyAll()
如果调用该方法就唤醒全部的线程。注意:调用notify()方法后并不会立即释放object锁,会等待该线程执行完毕后释放Object锁。