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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© alee 中级黑马   /  2014-8-26 21:53  /  858 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

到目前为止,介绍了线程离开运行状态的三种方法:
1、调用 Thread.sleep():使当前线程睡眠至少多少毫秒(尽管它可能在指定的时间之前被中
断)。
2、 调用 Thread.yield(): 不能保障太多事情, 尽管通常它会让当前运行线程回到可运行性状态,
使得有相同优先级的线程有机会执行。
3、调用 join()方法:保证当前线程停止执行,直到该线程所加入的线程完成为止。然而,如果
它加入的线程没有存活,则当前线程不需要停止。
除了以上三种方式外,还有下面几种特殊情况可能使线程离开运行状态:
1、线程的 run()方法完成。
2、在对象上调用 wait()方法(不是在线程上调用)。
3、线程不能在对象上获得锁定,它正试图运行该对象的方法代码。
4、 线程调度程序可以决定将当前运行状态移动到可运行状态, 以便让另一个线程获得运行机会,
而不需要任何理由。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马