前言
参考文章:https://blog.csdn.net/qq_40608137/article/details/104647648线程实现的方式可以分为两类:用户级线程(User-Level Thread)和内核级线程(Kernel-Level Thread)。内核级线程又称内核支持的线程。
一、用户级线程
在用户级线程中,有关线程管理(线程的创建、撤销和切换等)的所有工作都由应用程序完成,内核意识不到线程的存在。应用程序可以通过使用线程库设计成多线程程序。通常,应用程序从单线程开始,在该线程中开始运行,在其运行的任何时刻,可以通过调用线程库中的派生例程创建一个在相同进程中运行的新线程。
二、内核级线程
在内核级线程中,线程管理的所有工作由内核完成,应用程序没有进行线程管理的代码,只有一个到内核级线程的编程接口。内核为进程及其内部的每个线程维护上下文信息,调度也在内核基于线程架构的基础上完成。