0
点赞
收藏
分享

微信扫一扫

线程的实现方式以及模式


线程的实现方式

线程的实现方式有2种:用户级线程和内核级线程。

用户级线程中,有关线程管理的工作都是由应用程序完成的,内核意识不到线程的存在。应用程序可以通过使用线程库设计成多线程程序。

内核级线程中,线程管理的工作由内核完成,应用程序没有进行线程管理的代码,只有一个到内核级线程的编程接口。内核为进程及内部的每一个线程维护上下文信息,调度也在内核基于线程架构的基础上完成。

用户级

线程的实现方式以及模式_应用程序

内核级

线程的实现方式以及模式_线程管理_02

组合级线程

用户级线程:

1.线程的管理工作由应用程序完成

2.没有涉及CPU变态

3.操作系统不会意识到内核级线程的存在

内核级线程:

1.优点:当一个线程阻塞了,别的线程可以执行,并发能力强,多线程可以在多核处理机上执行

2.缺点:一个用户进程会占用多个内核级线程,线程切换由操作系统完成,切换到核心态会消耗大,成本大。

线程模型

一对一,多对一,多对多

一对一模型:将每个用户级线程映射到一个内核级线程。

优点:并发能力强,不影响

缺点:消耗大

多对一模型:将多个用户级线程映射到一个内核级线程。

优点:开销小。

缺点:一个阻塞,全体阻塞

多对多:多个用户级线程映射到多个内核级线程。

取两之长,切两之短

线程的实现方式以及模式_一对一_03



举报

相关推荐

0 条评论