一道线程题不明白,谁能解释一下?

rainbow2k 2002-12-21 02:44:08
55. Which two CANNOT directly cause a thread to stop executing? (Choose Two)

A. Calling the yield method
B. Calling the wait method on an object
C. Calling the notify method on an object
D. Calling the NotifyAll method on an object
E. Calling the start method on another Thread object
answer:A,E
...全文
49 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ydtj829 2002-12-28
  • 打赏
  • 举报
回复
CD.AC考试的答案就是这样了。。。不要问我理由。。。。
wulingdongliu 2002-12-28
  • 打赏
  • 举报
回复
第60题a和c对
第55题c和d对
wulingdongliu 2002-12-28
  • 打赏
  • 举报
回复
a c对
mengz 2002-12-23
  • 打赏
  • 举报
回复
晕死了,谁都没有一个权威的答案吗?
sun1979song 2002-12-22
  • 打赏
  • 举报
回复
55. Which two CANNOT directly cause a thread to stop executing? (Choose Two)

A. Calling the yield method//暂停当前线程,请操作系统调度执行队列中下一个线程(估计在Win32平台下,用延迟过程调用DPC来实现了)
B. Calling the wait method on an object//首先释放对象锁(引用计数减一),然后停下来等待该对象,直到该对象的notify()或notifyAll()被执行后被唤醒
C. Calling the notify method on an object//唤醒该对象等待队列里下一个线程,但只有当前线程释放对象锁之后,被唤醒的线程才能真正可以执行
D. Calling the NotifyAll method on an object//唤醒该对象所有等待线程,但只有当前线程释放对象锁之后,被唤醒的线程才能真正可以执行
E. Calling the start method on another Thread object//启动另一个线程

不知以上的理解是否正确

照此逻辑答案更加扑朔迷离了,仅靠api说明解决不了,继续研究实现细节才说得清
JamesJava 2002-12-22
  • 打赏
  • 举报
回复
这道题是考试原题,但网上很多地方都有不同的答案。
mengz 2002-12-21
  • 打赏
  • 举报
回复
然后第60题又给了正好相反的答案,我也很奇怪的说,哪个是对的啊?

60. Which two CANNOT directly cause a thread to stop
executing? (Choose Two)

A.Existing from a synchronized block
B.Calling the wait method on an object
C.Calling notify method on an object
D.Calling read method on an InputStream object
E.Calling the SetPriority method on a Thread object

51,412

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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