java 中的 wait()方法和 sleep()方法的区别是什么?
2015-08-22 11:48
429 查看
对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。
sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。
而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备。
sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。
而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备。
相关文章推荐
- JAVA Lock 多线程顺序执行
- Java 8 数据流并行与非并行性能简单比较
- Spring Autowiring by Constructor
- java内部类和匿名类
- Spring Autowiring by Name
- 针对Eclipse的maven Missing artifact com.microsoft.sqlserver:slqjdbc4:jar:4.0
- Spring Autowiring by Type
- Java GC 日志详解
- java readLine
- 启动Java Web项目时提示错误:A child container failed during start
- Ehcache 整合Spring 使用页面、对象缓存
- Spring Auto-Wiring Beans
- Java--排序与查找
- 叶存菜鸟URL和URLConnection java笔记
- struts接收参数方式
- java多线程学习
- JAVA内存分配-通俗讲解
- JAVA基础概念
- Java多线程通信
- Struts(19)Struts集成