sleep是线程什么也不做,等一个时间
wait是等待其它线程用notify唤醒,直到超过wait方法中指定的时间
wait是等待其它线程用notify唤醒,直到超过wait方法中指定的时间
解决方案 »
- 集成环境IntelliJ 12发布项目出软件包 javax.servlet.http不存在
- 大家帮帮忙啦。struts2+hibernate
- 请大家帮忙看看我的代码,限制机器人访问网站
- 文件上传下载
- 学习Java的心得,高分
- 请高手帮忙 SSH整合时出现的问题
- JMS中为何指定的Queue对象为NULL(附带问题代码)。
- 有人成功的部署masterejbII中的Jasmine吗?
- 请教大家这是EJB的什么错误?
- 如何利用getHibernateTemplate 查询sqlserver数据库时间
- Win2003+IIS6+Resin 奇怪的问题,高分求解!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 有关DecimalFormat格式化字符串的问题???
wait 是必须notify唤醒sleep是人为地调用,wait除了人为地调用外,线程可能由于I/O阻塞造成的wait不可以运行状态是由可运行状态转变过来的,一个可运行状态的线程如果遇到挂起(suspend)
操作、等待(sleep)操作、睡眠(sleep)操作,就会进入不可运行状态。另外如果一个线程跟I/O操作有关,外设的速度远远低于处理器的速度,所以线程可能被阻塞,从而进入不可运行状态。外设处理完后,该线程会自动进入可运行状态。通常由三种途径可以把一个不可运行的状态转为可运行状态。一是自动恢复,通过sleep或者由于I/O阻塞造成的not runnable可以自动恢复;二是由resumen来恢复到可运行状态(由suspend挂起);三是由notify方法来恢复处于wait的线程。
wait() : 时间到达后立刻启动