模拟卷 操作系统 进程和线程 选择题
第 24 题

在多对一的线程模型中,当一个多线程进程中的某一个线程执行一个需阻塞的系统调用时,( )。

A. 该进程的其他线程仍将继续运行 B. 整个进程都将阻塞 C. 该阻塞线程将被撤销 D. 该进程将被撤销

进程和线程

[tag_link]

正确答案:B

在多对一的线程模型中,多个用户级线程映射到单个内核级线程。

这意味着所有用户级线程都由同一个内核线程管理,内核线程是操作系统进行调度和执行的基本单位。

当一个用户级线程执行了一个需阻塞的系统调用(例如等待 I/O 操作完成)时,控制权会转移到内核。 由于只有一个内核线程,该内核线程会因为系统调用而进入阻塞状态。 操作系统内核会将该内核线程(从而整个进程)置于阻塞队列,并切换到其他就绪进程执行。

因此,尽管进程内部有多个用户级线程,但由于它们共享同一个内核线程,一旦这个内核线程阻塞,整个进程就无法继续运行,所有用户级线程都会被阻塞。 其他选项不正确:A 错误,因为其他线程无法运行; C 和 D 错误,因为线程和进程通常不会被撤销,只是状态改变。