sleep和wait的区别有:
1、这两个方法来自不同的类分别是Thread和Object;
2、最主要是sleep方法没有释放锁,而wait方法释放了锁,使得线程可以使用同步控制块或者方法;
3、wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在任何地方使用
synchronized(x){
x.notify()
//或者wait()
}

  sleep不出让系统资源;wait是进入线程等待池等待,让出系统资源线程可以占用CPU。一般wait不会加时间限制,因为如果wait线程的运行资源不够,再出来也没用,要等待线程调用notify/notifyAll唤醒等待池中的所有线程,才会进入就绪队列等待OS分配系统资源。sleep(milliseconds)可以用时间指定使它自动唤醒过来,如果时间不到只能调用interrupt()强行打断。

  Thread.Sleep(0)的作用是“触发操作系统立刻重新进行一次CPU竞争”; 

  4、sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常;

修改于2019.7.24

最新文章

  1. Express4.x常用API(一):res
  2. 在Web api2 中传递复杂参数的一点心得
  3. Cocos2d-x 学习资料推荐
  4. UML类图关系大全
  5. 简单模拟struts2及struts2的处理流程介绍
  6. PBRT笔记(13)——光线传播1:表面反射
  7. c#Socket Tcp服务端编程
  8. 使用Typescript实现依赖注入(DI)
  9. 动态库的链接和链接选项-L,-rpath-link,-rpath
  10. hibernate映射(学生-科目-成绩)
  11. 何为编码 GBK 和 UTF8编码?GBK,GB2312与区位码有何关系?
  12. python中复数的几件事儿
  13. [python]关于在python中模块导入问题追加总结
  14. 斯坦福大学CS224d课程目录
  15. ibatis 批量更新(二)
  16. Oracle VM VisualBox 虚拟机创建共享文件夹。
  17. 安装autoit libary失败问题解决
  18. mysql主从复制(简单直观)
  19. hadoop-2.7.1:Error: Cannot find configuration directory: /etc/hadoop
  20. My First

热门文章

  1. HDU 4283:You Are the One(区间DP)
  2. scrapy实战7爬取搜狗微信:
  3. Git使用小技巧之免密登录
  4. 20141111-WCF获得Web路径
  5. Linux系统-CENTOS7使用笔记
  6. Java编程思想:擦除的神秘之处
  7. Dapper学习笔记
  8. 比赛:小奔的矩形solution
  9. 个人永久性免费-Excel催化剂功能第91波-地图数据挖宝之行政区域信息实时下载(含经纬度)
  10. 分布式锁----Redis实现