线程分为用户级线程和内核级线程
在408的一个题目中说道 操作系统为每一个用户级线程创建一个线程控制块 这句话是错的
我想知道为什么呢?书上不是说系统为每个线程都配置一个线程控制块吗?
都有tcb,但是用户级线程的线程管理工作都由应用程序完成,包括创建tcb,应用程序不属于操作系统。
无论是用户级线程还是内核级线程都有TCB。“操作系统为每一个用户级线程创建一个线程控制块”这句话的错误点在于每个线程的TCB是否是由操作系统管理的。这样的话,答案肯定错误。详细解释如下
首先,现在的主流操作系统都支持线程的处理。
其中用户级别的线程的创建。撤销。调度都是有各个线程库实现的。那么相应的它的TCB是由应用程序通过线程库来进行创建,并不是由操作系统创建。
而内核级线程是由操作系统进行创建,管理。撤销的。那么它的的TCB当然是由操作系统创建的。
“用户级线程”和“内核线程”不一样,你看的书上应该指的是内核线程