有关线程调度问题
来源:互联网 发布:赵敏 张无忌的爱情知乎 编辑:程序博客网 时间:2024/05/16 08:53
有关线程调度问题
下列关于线程调度的叙述中,错误的是:( D )
A. 调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
B. 调用线程的yield()方法,只会使与当前线程相同优先级的线程获得运行机会
C. 当有比当前线程优先级高的线程出现时,高优先级的线程将抢占CPU并运行
D. 具有相同优先级的多个线程的调度一定是分时的.
E.一个线程由于某些原因进入阻塞状态,会放弃CPU
F.分时调度模型是让所有线程轮流获得CPU使用权
解析:
yield()暂时交出cpu控制权,从running状态转为runnalbe状态,但是仍有可能被调度,sleep()线程指定休眠一段时间
wait()在其他线程调用此对象的notify()、notifyAll()方法时才能继续执行
线程中sleep()方法和yeild()方法的主要区别:
1.sleep()方法会给其他线程运行的机会,而不管其他线程的优先级,因此会给较低优先级的线程运行的机会;
yeild()方法只会给优先级相同的或者比自己高的线程运行的机会
2.sleep()方法声明抛出InterruptionException异常,而yeild()方法没有声明抛出任何异常
3.sleep()方法比yeild()方法具有更高的可移植性
4.sleep()方法使线程进入阻塞状态yeild()方法使线程进入就绪状态当前运行的线程可以调用另一个线程的join()方法,当前运行的线程将转到阻塞状态直到另一个线程运行结束,它才会恢复运行
join()有两种形式:public void join()和public void join(long timeout)可以设置阻塞的时间
sleep()方法进入阻塞状态,当有两个线程(线程1和线程2),线程1的优先级比线程2的优先级高,线程1sleep()则线程2可以获得运行机会
当有比当前线程优先级高的线程出现时,高优先级会抢占CPU并运行,yield()方法,暂停一段时间,且这段时间不确定,它会使与当前线程相同优先级的线程获得运行机会
具有相同优先级的多个线程调度不一定是分时的,多核CPU可能同时调
0 0
- 有关线程调度问题
- 线程的调度问题
- 有关Linux下线程的调度
- 有关Linux下线程的调度
- 有关Linux下线程的调度
- 有关Linux下线程的调度
- 有关Linux下线程的调度
- 有关Linux下线程的调度
- 有关Linux下线程的调度
- 并发线程有关问题
- 操作系统--进程调度的有关问题(1)
- 操作系统--进程调度的有关问题(2)
- 线程函数有关的问题
- 线程函数有关的问题
- java生产者消费者---线程调度问题
- 线程的调度和优先级问题
- 有关终止线程的一个问题
- android有关线程的销毁问题
- 对话管理
- Bootstrap模态框水平垂直居中与增加拖拽功能
- ExpandableListView的拖动重新分组-DropDrag
- signal函数和sigactiion函数的对比
- 自定义View的onMeasure过程
- 有关线程调度问题
- android系统触摸屏虚拟按键
- 汉字GB2312转Unicode
- 当php加载不进来php_curl.dll拓展时候
- CentOS 6.7命令行下装图形界面(用下载的镜像文件CentOS-6.7-i386-bin-DVD1.iso)
- C++编程思想学习笔记----第11章 引用和拷贝构造函数
- android viewPager的notifyDataSetChanged()的方法无法刷新页面的分析
- hdoj 2444 The Accomodation of Students 【黑白染色判二分图 + 最大匹配】
- 【JAVA面试题】之一:第几行的obj符合垃圾收集器的收集标准?