A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Rancho_Gump 高级黑马   /  2013-1-18 13:07  /  1273 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

主线程sleep()后,怎样在其他线程中让主线程强行恢复到执行状态?

7 个回复

倒序浏览
本帖最后由 高浩 于 2013-1-18 14:54 编辑

interrupt();将线程的冻结状态恢复,使线程获得执行资格,由于cup的问题他的切换是随机性,可能会切到这个线程,那么线程继续运行,如果没切到,他的状态就是临时阻塞状态了
回复 使用道具 举报
高浩 发表于 2013-1-18 14:12
interrupt();将线程的冻结状态恢复到临时阻塞状态,使线程获得执行资格

怎么获取主线程的实例呢?
回复 使用道具 举报
只有获取当前执行的线程的方法,他是Thread类里的一个静态方法Thread.currentThread()
回复 使用道具 举报
高浩 发表于 2013-1-18 14:52
只有获取当前执行的线程的方法,他是Thread类里的一个静态方法Thread.currentThread() ...

没有主线程示例  怎么调用interrupt();的啊?
回复 使用道具 举报
可是sleep方法必须指定时间的
回复 使用道具 举报
高浩 发表于 2013-1-18 15:02
可是sleep方法必须指定时间的

嗯啊  主要是想在主线程休息时间没到之前,在另外的线程中强行将它唤醒    有解决办法么?
回复 使用道具 举报
高浩 中级黑马 2013-1-18 15:15:08
8#
看看API找找有没有获取主线程的方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马