下列关于线程的叙述中,正确的是( )。 Ⅰ.在采用轮转调度算法时,一进程拥有10个用户级线程,则在系统调度执行时间上占用10个时间片 Ⅱ.属于同一个进程的各个线程共享栈空间 Ⅲ.同一进程中的线程可以并发执行,但不同进程内的线程不可以并发执行 Ⅳ.线程

admin2019-08-10  27

问题 下列关于线程的叙述中,正确的是(    )。
Ⅰ.在采用轮转调度算法时,一进程拥有10个用户级线程,则在系统调度执行时间上占用10个时间片
Ⅱ.属于同一个进程的各个线程共享栈空间
Ⅲ.同一进程中的线程可以并发执行,但不同进程内的线程不可以并发执行
Ⅳ.线程的切换,不会引起进程的切换

选项 A、仅Ⅰ、Ⅱ、Ⅲ
B、仅Ⅱ、Ⅳ
C、仅Ⅱ、Ⅲ
D、全错

答案D

解析 Ⅰ错误,由于用户级线程不依赖于操作系统内核,因此,操作系统内核是不知道用户线程的存在的,由于操作系统不知道用户级线程的存在,所以,操作系统把CPU的时间片分配给用户进程,再由用户进程的管理器将时间片分配给用户线程。那么,用户进程能得到的时间片即为所有用户线程共享。所以该进程只占有1个时间片。
若是内核级线程,由于内核级线程操作系统是知道的,它们与进程一样地分配处理机时间,  所以,有多少个内核级线程就可以获得多少个时间片。
Ⅱ错误,各个线程拥有属于自己的栈空间,不允许共享。
Ⅲ错误,同一进程内的多个线程可以并发执行,甚至不同进程内的多个线程也可以并发执行。
Ⅳ错误,当从一个进程中的线程切换到另一个进程中的线程时,将会引起进程的切换。
知识点回顾:
线程,也被称为轻量级进程,是一个基本的CPU执行单元。它包含了一个线程ID、一个程序计数器、一个寄存器组和一个堆栈。
在多线程模型中,进程只作为除CPU以外系统资源的分配单位,线程则作为处理机的分配单位,甚至不同进程中的线程也能并发执行。
转载请注明原文地址:https://kaotiyun.com/show/rwCi777K
0

最新回复(0)