SCJP线程概念题目请教 谢谢

davis_rly 2010-04-02 12:59:13
高手们 请教一道SCJP题目
题目是: Assuming that interrupted exception has not been thrown and that"aliva Thread" is a runnable thread,which three guarantee that a thread will leave the running state?
A yield()
B wait()
C notify()
D notifyAll()
E sleep(100)
F aliveThrea.join()
G Thread.killThread() 我考的是java6 自己选了ABE 这是模拟题
但是答案显示错误 可以指点一下吗?谢谢大家啦
...全文
91 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yugong2009 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wingardium 的回复:]
选BEF,
Thread.yield()不能保证当前线程退出运行状态,这个方法只给同优先级和更高优先级的线程让步。如果当前线程优先级最高,其它线程的优先级都比它低,那么调用Thread.yield()没有任何效果。
[/Quote]

正解
yugong2009 2010-04-02
  • 打赏
  • 举报
回复
sleep(100)
Causes the currently executing thread to sleep (temporarily cease execution) 100 milliseconds,The thread does not lose ownership of any monitors.
LuffySY 2010-04-02
  • 打赏
  • 举报
回复
BEF?
wingardium 2010-04-02
  • 打赏
  • 举报
回复
选BEF,
Thread.yield()不能保证当前线程退出运行状态,这个方法只给同优先级和更高优先级的线程让步。如果当前线程优先级最高,其它线程的优先级都比它低,那么调用Thread.yield()没有任何效果。
soli11722984 2010-04-02
  • 打赏
  • 举报
回复
中断线程。
如果当前线程没有中断它自己(这在任何情况下都是允许的),则该线程的 checkAccess 方法就会被调用,这可能抛出 SecurityException。

如果线程在调用 Object 类的 wait()、wait(long) 或 wait(long, int) 方法,或者该类的 join()、join(long)、join(long, int)、sleep(long) 或 sleep(long, int) 方法过程中受阻,则其中断状态将被清除,它还将收到一个 InterruptedException。

如果该线程在可中断的通道上的 I/O 操作中受阻,则该通道将被关闭,该线程的中断状态将被设置并且该线程将收到一个 ClosedByInterruptException。

如果该线程在一个 Selector 中受阻,则该线程的中断状态将被设置,它将立即从选择操作返回,并可能带有一个非零值,就好像调用了选择器的 wakeup 方法一样。

如果以前的条件都没有保存,则该线程的中断状态将被设置。

中断一个不处于活动状态的线程不需要任何作用。

孤独剑客 2010-04-02
  • 打赏
  • 举报
回复
AED??
不晓得

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧