CMS专题

问答题什么是用户级线程和内核级线程?并对它们进行比较.

题目
问答题
什么是用户级线程和内核级线程?并对它们进行比较.
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列关于线程调度的叙述中,错误的是( )。

A.调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会

B.调用线程的yield()方法,可以使与当前线程相同优先级的线程获得运行机会

C.当有比当前线程优先级高的线程出现时,高优先级线程将抢占CPU并运行.

D.具有相同优先级的多个线程的调度一定是分时的


正确答案:D
解析:Java的线程调度是基于优先级的抢先式调度,它总是选择高优先级的线程先执行。所以选项C正确。Thread提供了如下的基本线程控制方法:sleep (),线程暂停,让出CPU,使低优先级的线程运行;yield(),线程暂停,让出CPU,使同优先级的其他线程运行。如果不存在有机会运行的线程,yield()方法将直接返回,线程继续;join(),当前线程暂停,等待线程类对象运行结束。所以选项A和B正确。相同优先级的线程有可能采用分时调度也有可能是线程逐个运行,由具体JVM而定。

第2题:

比较线程和进程,下列说法有误的是

A.系统产生线程负担要比进程小的多,所以线程也被称为“轻型进程”

B.线程和进程不能同时出现在同一个系统或程序中

C.进程是一个内核级的实体,线程是一个用户级的实体

D.线程不包含进程地址空间中的代码和数据,线程是计算过程在某时刻的状态


正确答案:B
解析:线程本身不是一个进程,它是比进程更小的单位,它必须运行于一个进程之中。因此,在题目中的说法线程和进程不能同时出现在同一个系统或程序中,是和线程本身的概念相矛盾的。

第3题:

从内核角度看,内核级线程和用户级线程有什么不同?


参考答案:内核级线程:线程管理的所有工作由操作系统内核来做。优点:(1)在多处理器上,内核能够同时调度同一进程中多个线程并行执行;(2)若其中的一个线程被阻塞了,内核能调度同一进程的其它线程占有处理器并运行,也可以运行其它进程中的线程。(3)由于内核线程仅有很小的数据结构和堆栈,KLT的切换比较快,内核自身也可以用多线程技术实现,从而,能提高系统的执行速度和效率。缺点:应用程序线程在用户态运行,而线程调度和管理在内核实现,在同一进程中,控制权从一个线程传送到另一个线程时需要用户态——内核态——用户态的模式切换,系统开销较大。用户级线程:线程管理的全部工作都由应用程序来做,在用户空间内实现,内核是不知道线程的存在的。优点:(1)线程切换不需要内核特权方式。(2)按应用特定需要允许进程选择调度算法。缺点:(1)在传统的基于进程操作系统中,大多数系统调用将阻塞进程。(2)在纯ULT中,多线程应用不能利用多重处理的优点。

第4题:

线程的实现机制有多种途径,下列哪几项属于典型的线程实现方式?()

A.用户线程

B.内核线程

C.混合线程

D.独立线程

E.互斥线程


参考答案:A, B, C

第5题:

下列关于线程和进程的说法中,正确的是______。

A.进程结构的所有成分都在用户空间中

B.用户程序能够直接访问进程所涉及的数据

C.线程是内核级的实体

D.线程结构驻留在用户空间中


正确答案:D
解析: 线程与进程在概念上是相关的。线程不包括进程地址空间中的代码和数据,线程是计算过程在某一时刻的状态。进程是一个内核级的实体,一个用户程序不能直接访问这些数据。线程是一个用户级的实体,能够被普通的用户级方法直接访问。

第6题:

下列关于线程优先级的说法中,正确的是( )。

A.线程的优先级是不能改变的

B.线程的优先级是在创建线程时设置的

C.在创建线程后的任何时候都可以设置

D.B和C


正确答案:C
解析: 本题考查线程优先级的概念。首先应该了解Java的线程是有优先级的,并且可以控制其优先级,可以排除选项A;选项B和选项C本身就矛盾,故选项D是错误的,B和C不能同时选择。线程的优先级在创建线程时可以设置,也可以通过getPriority()方法来获得线程的优先级,通过setPriority()方法来设定线程的优先级。线程的优先级属于考试重点内容,应该重点掌握。

第7题:

下列关于线程的说法正确的是(4)。

A.引入线程的OS线程切换的开销远小于进程切换的开销;有的系统线程切换、同步和通信都无须OS内核的干预

B.引入线程的OS线程切换的开销和进程切换的开销差不多;有的系统线程切换、同步和通信都无须OS内核的干预

C.引入线程的OS线程切换的开销远小于进程切换的开销;所有系统线程的切换、同步和通信都需要OS内核的干预

D.引入线程的OS线程切换的开销和进程切换的开销差不多;所有系统线程的切换、同步和通信都需要OS内核的干预


正确答案:A
解析:引入线程的OS线程切换的开销远小于进程切换的开销;有的系统线程切换、同步和通信都无须OS内核的干预。

第8题:

下列关于线程和进程的说法正确的是( )。

A.进程结构的所有成分都在用户空间内

B.用户程序能够直接访问进程涉及的数据

C.线程是内核级的实体

D.线程结构驻留在用户空间中


正确答案:D
解析: 本题考查线程和进程的概念。线程与进程在概念上是相关的,进程由代码、数据、内核状态和一组寄存器组成,而线程是由表示程序运行状态的寄存器,如程序计数器、栈指针以及堆栈组成,线程不包括进程地址空间中的代码和数据,线程是计算过程在某一时刻的状态。进程是一个内核级的实体,进程结构的所有成分都在内核空间中,一个用户程序不能直接访问这些数据。线程是一个用户级的实体,线程结构驻留在用户空间中,能够被普通的用户级方法直接访问。

第9题:

下列关于线程优先级的说法中,正确的是______。

A.线程的优先级是不能改变的

B.线程的优先级是在创建线程时设置的

C.在创建线程后的任何时刻都可以设置其优先级

D.B和C


正确答案:C
解析: Java语言中线程的优先级是用一个介于MIN_PRIORITY和MAX_PRIORITY之间的整数来表示的。可以在创建线程后的任何时刻修改线程的优先级。

第10题:

试说明用户级线程的实现方法。


答案:用户级线程是在用户空间中的实现的,所有的用户级线程都具有相同的结构,运行在一个中间系统上。运行时系统:用于管理和控制线程的函数的集合。内核控制线程或轻型进程LP:可通过系统调用获得内核提供服务,利用LWP进程作为中间系统。