sleep() 和 wait() 有什么区别?

[复制链接]
查看11 | 回复3 | 2012-3-5 14:07:27 | 显示全部楼层 |阅读模式
欢迎

回复

使用道具 举报

千问 | 2012-3-5 14:07:27 | 显示全部楼层
第一种解释:功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩. 第二种解释:sleep是Thread类的静态方法。sleep的作用是让线程休眠制定的时间,在时间到达时恢复,也就是说sleep将在接到时间到达事件事恢复线程执行;wait是Object的方法,也就是说可以对任意一个对象调用wait方法,调用wait方法将会将调用者的线程挂起,直到其他线程调用同一个对象的notify方法才会重新激活调用者....
回复

使用道具 举报

千问 | 2012-3-5 14:07:27 | 显示全部楼层
sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)"醒来"的线程具有更高的优先级 (b)正在运行的线程因为其它原因而阻塞。wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待...
回复

使用道具 举报

千问 | 2012-3-5 14:07:27 | 显示全部楼层
sleep()是线程类的方法,wait()方法是Object方法。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行