A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李志鹏 中级黑马   /  2015-6-13 18:14  /  390 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

最常见的死锁情况:同步嵌套。
同步中还有同步,两个同步用的不是一个锁。
记住尽量避免同步嵌套的情况。

等待唤醒机制。

涉及到的方法:
wait():等待,将正在执行的线程释放其执行资格和执行权,并存储到线程池中。
notify():唤醒,唤醒线程池中被wait的线程,一次唤醒一个,而且是任意的。
notifyAll():唤醒全部,可以将线程池中的所有wait线程都唤醒,

唤醒的意思就是让线程池中的线程具备执行资格。


这些方法都要使用在同步中才有效。
这些方法在使用时必须标明所属锁,这样才可以明确出这些放操作的到底是哪个锁上的线程。

为什么这些操作线程的方法定义在Object类中?
因为这些方法在使用时,必须要标明所属的锁,而锁又可以是任意对象。
能被任意对象调用的方法一定定义在Object类中。

评分

参与人数 1黑马币 +1 收起 理由
Peng苏 + 1

查看全部评分

1 个回复

倒序浏览
学习了...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马