`
duming115
  • 浏览: 113360 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lock 与Condition的说明

阅读更多
1.Lock是一个monitor object.
2.Condition由Lock创建,lock.newCondition();
3.每个condition后面的队列是单独的。
4.condition也是一个Object对象,这里千万不要把Object.wait()与Condition.await()弄混了,还有Object.notify()和Condition.signal();
5.要想调用Object对象的wait(),notify(),notifyAll()方法,必须通过内部锁的代码方式,synchronized(obj)获得对象obj的锁,而要调用Condition.await(),signal(),signalAll()则要通过显示锁的方式,lock.lock(),获得lock的锁。如果得不锁时会抛出IllegalMonitorStateException异常。
6.java 1.5 的锁框架为java.util.concurrent.locks.AbstractQueuedSynchronizer
有兴趣可以下载附件:
7.Addison.Wesley.Java.Concurrency.in.Practice.May.2006 这本书更是值得一看

2013.08.10 Thread线程的状态图:
引用博客http://www.jroller.com/VelkaVrana/entry/thread_state_transitions_diagram

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics