黑马程序员技术交流社区
标题:
sleep和wait的区别
[打印本页]
作者:
等你的季节-夏天
时间:
2015-7-6 10:56
标题:
sleep和wait的区别
sleep和wait的区别主要有
1.sleep是Object类的方法, wait是Thread类的方法
2.sleep必须指定休眠时间, 他有时间限制, wait则没有时间限制, 他必须靠notify或者notifyAll唤醒
3.最重要的一点, sleep的时候, 线程不会释放锁, 而wait的线程会释放锁
多线程中有一个死锁问题, 死锁是指同步中嵌套有同步, 每个同步都有单独的一个同步锁, 好比两层门, 有两把锁. 代码中就是两层同步代码块, 外层使用A锁, 内层使用B锁, 另一条路径是外层使用B锁, 内层使用A锁, 两条线程, 一个持有A锁想进B锁的同步代码块, 另一个持有B锁想进A锁的同步代码块, 两条线程都不释放锁, 又都不能运行下一步, 所以形成一种假死状态. 解决方法就是不要在同步中嵌套同步, 同步只使用唯一的一个锁.
作者:
耀阳圣尊
时间:
2015-7-6 12:00
自己可以写一遍等待唤醒机制。会更加深入{:3_68:}
作者:
icichacici
时间:
2015-7-6 12:53
sleep也是Thread类的方法。
作者:
AJHJKSHDKJD1
时间:
2015-7-6 14:33
赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞赞
作者:
AJHJKSHDKJD1
时间:
2015-7-6 14:39
赞赞赞赞赞赞
作者:
linqiwang
时间:
2015-7-6 16:03
赞赞赞赞赞赞
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2