java多线程中wait()和sleep()方法的区别
来源:互联网 发布:白夜追凶剧情分析知乎 编辑:程序博客网 时间:2024/05/24 04:02
1.原理不同:sleep()方法是Thread类中的静态方法,是线程用来控制自身流程的,它会使此线程暂停执行一段时间。把执行机会让给其它线程,等计时时间一到,此线程会自动“苏醒”。而wait()方法是Object类中的方法,用于线程之间的通讯。会使当前拥有该对象锁的线程释放锁,然后对象调用notify()或者notifyAll()让其它线程获得锁,自己等待。
2.对锁的处理机制不同:sleep()方法只是让线程暂停执行一段时间,时间一到自动恢复,不涉及线程间的通信,因此,调用sleep()方法不会释放锁。而当调用wait()方法时,线程会释放掉它所暂用的锁。
3.使用区域不同:由于wait()方法的特殊意义,因此它必须放在同步控制方法或同步语句块中使用,而sleep()方法可以在任何地方使用。
阅读全文
0 0
- java多线程中wait()和sleep()方法的区别
- java中的多线程中wait和sleep方法的区别
- java多线程(7)--多线程中sleep和wait的区别
- java多线程中wait和sleep的区别
- 总结:Java多线程中wait和sleep的区别
- 多线程中sleep()和wait()的区别
- 多线程中 wait和sleep的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- java多线程 sleep()和wait()的区别
- 新文档
- 死锁
- Codeforces Round #424 E. Cards Sorting 线段树/数据结构瞎搞/模拟
- 基础编程题目集-厘米换算英尺英寸
- levaldb写入数据(6)
- java多线程中wait()和sleep()方法的区别
- poj 3320
- C++实现第一个Windows程序设计Hello World
- Memcache的使用与安全
- 《计算机操作系统原理—linux实例分析》_肖竞华_第二章_知识点
- [POJ 1062]昂贵的聘礼
- 《计算机操作系统-linux实例分析》_肖劲华_第三章_知识点
- CoreJava day02
- 提高MYSQL大数据量查询的速度