Java线程中sleep(),wait(),notifyAll()的区别
2015-07-17 17:21
211 查看
不同点:
1.Thread类的方法:sleep(),yield()等
Object的方法:wait()和notify()等
2.每个对象都有一个锁来控制同步访问。Synchronized关键字可以和对象的锁交互,来实现线程的同步。
sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
3.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用
4.sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常
1.Thread类的方法:sleep(),yield()等
Object的方法:wait()和notify()等
2.每个对象都有一个锁来控制同步访问。Synchronized关键字可以和对象的锁交互,来实现线程的同步。
sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法。
3.wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用
4.sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常
相关文章推荐
- java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoader
- 多个文件开启固定线程等待下载--java实现
- java.io.IOException: read failed, socket might closed or timeout, read ret: -1
- 二分Kmeans的java实现
- myEclipse2014 连接 sqlServer2012 总结
- Java 中的语法糖 (Syntactic Sugar)
- java jxl 向Excel中追加数据而不覆盖原来数据的例子
- java 使用JDesktopPane
- Java过滤emoji表情,找出emoji的unicode范围。
- Java笔记--基础
- 搭建SpringMVC+Hibernate4+Spring3+Ajax+Maven项目
- java学习笔记,1,java语言基础知识
- Java多线程
- java之最小的k个数
- springMVC中使用POI方式导出excel至客户端、服务器实例
- 详细解析Java中抽象类和接口的区别
- 知识储备:java群聊系统
- Scala程序编译运行
- spring mvc 初始化过程
- Spring jar包详解