wait 和notify的用法解释(CownDownLatch)
使用方法:
- 使用 wait / notify 方法实现线程中的通信。(java为所有的对象都提供了这两种方法)
- wait 和 notify 必须要配合synchronized 关键字使用
- wait方法可以释放锁 ,notify 方法不可以释放锁
- 假如要通过notify方法去唤醒wait, 需要等待另一个使用synchronized关键字修饰的方法执行完之后,释放了锁,才可以去唤醒那个wait方法的线程。
- 如果需要线程的通信是实时的,就可以使用CountDownLatch这个对象来进行这样的线程通信,不需要使用synchronized 这个修饰词,CountDownLatch里面的wait是用await()表示的,然后notify是用countDown表示的,然后假如新开的对象CountDownLatch()括号里面的参数填的是数字N,则说明需要进行N次的countDown()才能够去唤醒那个使用await()暂停的线程。