进程管理中的多线程模型
多线程——多线程同时执行的进程。
许多操作系统以组合方式支持内核线程和用户线程。这种系统的例子是 Solaris。多线程模型分为三种类型。
Many to many model.
Many to one model.
one to one model.
多对多模型
在这个模型中,我们有多个用户线程复用到相同或更少数量的内核级线程。内核级线程的数量是特定于机器的,这种模型的优点是如果一个用户线程被阻塞,我们可以将其他用户线程调度到其他内核线程。因此,如果特定线程被阻塞,系统不会阻塞。
它是最好的多线程模型。
多对一模式
在这个模型中,我们将多个用户线程映射到一个内核线程。在此模型中,当用户线程进行阻塞系统调用时,整个进程都会阻塞。由于我们只有一个内核线程,并且一次只有一个用户线程可以访问内核,所以多个线程不能同时访问多处理器。
线程管理在用户级别完成,因此效率更高。
一对一模式
在这个模型中,内核和用户线程之间是一对一的关系。在这个模型中,多个线程可以在多个处理器上运行。这个模型的问题是创建用户线程需要相应的内核线程。
由于每个用户线程连接到不同的内核,如果任何用户线程进行阻塞系统调用,其他用户线程将不会被阻塞。