首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是( )。
使线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是( )。
admin
2010-02-22
60
问题
使线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是( )。
选项
A、sleep()方法
B、suspend()方法
C、yield()方法
D、wait()方法
答案
4
解析
本题考查对线程阻塞概念的理解程度。为了解决对共享存储区的访问冲突, Java引入了同步机制。但当多个线程对共享资源访问时,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止1个。为了解决这种情况下的访问控制问题,Java引入了对阻塞机制的支持。
阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学对它一定已经很熟悉了。Java提供了大量方法来支持阻塞,下面逐一分析。选项A错误,sleep()允许指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU时间,指定的时间一过,线程重新进入可执行状态。典型地,sleep()被用在等待某个资源就绪的情形;测试发现条件不满足后,让线程阻塞一段时间后重新测试,直到条件满足为止。选项B错误,suspend()和resume()两个方法常配套使用,suspend()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的 resume()被调用,才能使得线程重新进入可执行状态。典型地,suspend()和resume()被用在等待另一个线程产生的结果的情形:测试发现结果还没有产生后,让线程阻塞,另一个线程产生了结果后,调用resume()使其恢复。
选项C正确,yield()使得线程放弃当前分得的CPU时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间。调用yield()的效果等价于调度程序认为该线程已执行了足够的时间从而转到另一个线程。
选项D错误,wait()和notify()两个方法常配套使用,wait()使得线程进入阻塞状态,它有两种形式,一种允许指定以毫秒为单位的一段时间作为参数,另一种没有参数,前者当对应的notify()被调用或者超出指定。
转载请注明原文地址:https://kaotiyun.com/show/Qqnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
对数据表建立性别(C,2)和年龄(N,2)的复合索引时,正确的索引关键字表达式为
下面命令的输出结果是:DECLAREa(10)?a(O)
用DIMENSION命令定义数组后,数组各元素的值是
有三个关系R、S和T如下:1则由关系R和S得到关系T的操作是
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为
软件设计中模块划分应遵循的准则是
对于循环队列,下列叙述中正确的是
打开一个项目文件,然后通过命令方式新建一个程序文件,则该程序文件()。
在E-R图中,用来表示实体的图形是
对于catch子句的排列,下列()是正确的。
随机试题
______noairorwater,therewouldbenolifeintheworld.
用海藻治疗瘿瘤的记载见于水银治疗皮肤病的记载见于
空腹痛常见于()
A.羌活胜湿汤B.葛根汤C.瓜蒌桂枝汤D.羚角钩藤汤E.大定风珠治疗痉证肝经热盛证,应首选
银行产品定价的目标包括()。
聘用到专业技术一级岗位的文职人员,()。
结合材料回答问题:材料1中国将同各国一道,加快推进“丝绸之路经济带"和“21世纪海上丝绸之路”建设,尽早启动亚洲基础设施投资银行,更加深入参与区域合作进程,推动亚洲发展和安全相互促进、相得益彰。
设随机变量X1和X2相互独立同分布(方差大于零),令X=X1+aX2,Y=X1+bX1(a,b均不为零).如果X与Y不相关,则().
他们试图想出一个解决这个问题的办法。
Ifx0,whichofthefollowingisequivalentto?
最新回复
(
0
)