java多线程学习(六) 之 Condition

和synchronized一样,Lock是为了线程互斥而设计的,在synchronized中,使用对象隐式锁的wait notify(notifyAll)来实现线程之间的通信,同样的功能在Lock中是通过Codition来实现的。Condition除了完成wait和notify的基本功能之外,它的好处在于一个Lock可以通过创建多个Condition,选择性的去通知wait的线程。 阅读全文

java多线程学习(四) 之 wait和notify

ynchronized让线程之间互斥,但是有时候因为业务逻辑,需要主动释放锁,让其它的线程执行,这就需要线程之间通信,我们知道JAVA里每个对象都有个隐式锁,JAVA为每个对象都提供了wait和notify(还有notifyAll)方法,分别用于本线程主动释放锁,进入等待状态,和唤醒其它进入等待的线程。 阅读全文