同时,线程的状态有下面几种:

    调度算法 Scheduler 只管理 Tid ,和线程并没有关系。因此,我们使用线程池 来给线程和 Tid 建立联系,将 Scheduler 的 Tid 调度变成线程调度。 事实上,每个线程刚被创建时并没有一个 Tid ,这是线程池给线程分配的。

    • alloc_tid:为新线程分配一个新的 Tid
    • add:添加一个可立即开始运行的线程
    • retrieve:让当前线程交出 CPU 资源
    • tick:时钟中断时查看当前所运行线程是否要切换出去
    • exit:退出线程

    下面,我们依次来看看线程池的方法: