首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是( )。
使线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是( )。
admin
2010-07-28
59
问题
使线程放弃当前分得的CPU时间,但不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间的方法是( )。
选项
A、sleep()方法
B、suspend()方法
C、yield()方法
D、wait()方法
答案
4
解析
本题考查对线程阻塞概念的理解程度。为了解决对共享存储区的访问冲突,Java引入了同步机制。但当多个线程对共享资源访问时,显然同步机制已经不够了,因为在任意时刻所要求的资源不一定已经准备好了被访问,反过来,同一时刻准备好了的资源也可能不止1个。为了解决这种情况下的访问控制问题,Java引入了对阻塞机制的支持。阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪),学过操作系统的同学对它一定已经很熟悉了。Java提供了大量方法来支持阻塞,下面逐一分析。选项A错误,slccp()允许指定以毫秒为单位的一段时间作为参数,它使得线程在指定的时间内进入阻塞状态,不能得到CPU时间,指定的时间一过,线程重新进入可执行状态。典型地,slecp()被用在等待某个资源就绪的情形:测试发现条件不满足后,让线程阻塞一段时间后重新测试,直到条件满足为止。选项B错误,suspend()和resume()两个方法常配套使用,suspcnd()使得线程进入阻塞状态,并且不会自动恢复,必须其对应的 resume()被调用,才能使得线程重新进入可执行状态。典型地,suspend()和resume()被用在等待另一个线程产生的结果的情形:测试发现结果还没有产生后,让线程阻塞,另一个线程产生了结果后,调用resume()使其恢复。选项C正确,yield()使得线程放弃当前分得的CPU时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得CPU时间。调用yield()的效果等价于调度程序认为该线程已执行了足够的时间从而转到另一个线程。选项D错误,wait()和notify()两个方法常配套使用,wait()使得线程进入阻塞状态,它有两种形式,一种允许指定以毫秒为单位的一段时间作为参数,另一种没有参数,前者当对应的notify()被调用或者超出指定。
转载请注明原文地址:https://kaotiyun.com/show/w29p777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是()。
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向()的设计方法。
数据库恢复是将数据库从()状态恢复到某一已知的正确状态。
在“项目管理器”下为项目建立一个新报表,应该使用的选项卡足
学生表中有“学号”、“姓名”和“年龄”三个字段,SQL语句“SELECT学号FROM学生”完成的操作称为
数据字典(DD)所定义的对象都包含于
软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任务的是
数据字典(DD)所定义的对象都包含()。
函数表达式all([1,True,True])的结果是
随机试题
以下程序的输出结果是()。#definef(x)x*xmain(){inta=8,b=4,c;c=f(a)/f(b);printf(“%d\n”,c);}
导致破伤风发病的因素有
骨显像完成后,嘱患者多饮水的目的是
下列关于灭菌法叙述,正确的是
本身无血管、淋巴管和神经分布的结缔组织是
一肝炎患者作肝穿刺活检,镜下见肝细胞点状坏死,汇管区见少量淋巴细胞浸润及轻度纤维组织增生,肝小叶结构完整。上述病变符合()
下列成本偏差的原因中,不属于业主原因的是()。
一、注意事项1.本题本由给定资料与作答要求两部分构成。二、给定资料1.从2012年1月12日开始,北京市27个空气质量自动监测子站监测的大气污染物小时浓度数据开始在北京市环境保护监测中心网站上滚动发布。除发布各监测子站二氧化硫、二氧化氮、可吸入颗粒
简答补缺基点特征。
党的十五大报告初步勾画了实现第三步战略目标的蓝图,这被称为新的“三步走”战略。新的“三步走”战略的内容是()
最新回复
(
0
)