Java 并发编程:线程间的协做(wait/notify/sleep/yield/join)html
博文开始复习了下线程状态,给出了线程状态间的转换图示。java
以实例,源码,解释描述方式,阐述了wait, notify ,sleep等的功能 点。很是详细。赞一个。git
java sleep(),wait(),notify()函数区别面试
几句话描述了这几者之间的相同和不一样点,做为面试题来回答,仍是能够的。编程
wait、notify、sleep、interrupt对比分析并发
这篇文章里,给出了一个图表,对比了wait和sleep的相同和不一样,很精练。函数
Wait-Notify机制源码分析
锁机制。有介绍说Synchroniezd的锁的机制。学习
结束下面这篇博文,不看源码,也能串起整个Synchronized的流程。.net
包括warit(),notify()这些操做。
太喜欢这个做者了,文章分析之详尽,太棒了。一会儿解决了锁池、等待池、对象池这些虚头巴脑的东西。
重点在这个ObjectMonitor,醍醐灌顶!只能说本身太没动力了,只要看了源码,多么的清晰明了,哪还会纠结这么久!
本身学习了上面的文章后,理解的Synchronized 整个流程。乱扯了一通,欢迎各位看官指正。
本身总结:
sleep()和wait()也算是面试常问的问题了。它俩也相爱相杀多年,了解了用途和原理后,其实很容易理解。
会忘记主要也是用的少。作作笔记,多翻看才行。看再多,也得有本身的总结。可以用本身组织的语音描述出来要表达的东西,才是最好的。
方法 | 所属类 | 方法类型 | 锁 | 解除方法 | 场景 | 用途 |
---|---|---|---|---|---|---|
sleep | Thread | 静态方法 | 不释放锁 | timeout,interrupt | 无限制 | 线程内的控制 |
wait | Object | 非静态方法 | 释放锁 | timeout,notify,interrupt | 同步语句块 | 线程间的通讯 |