【发布时间】:2019-08-28 13:45:44
【问题描述】:
我正在阅读线程,据我了解,它们是执行上下文的一组值。据我了解,线程由允许 CPU 继续运行一组指令的值(寄存器、PC、堆栈等)组成。
但是,我的问题是:这些线程是如何制作的?我听说我的一些教授把线程这个词作为将一个进程分解为多个(大部分)独立的代码部分(即多线程)的方法。这是如何运作的?是否有另一段内存专门存储线程可以运行的内容及其状态?
【问题讨论】:
-
基本上,通过分配线程控制块和堆栈空间,使用模拟就绪线程的值初始化和设置它们 - 一个之前正在运行但被中断的线程。 “推入”堆栈的 IP 是线程的第一条指令。将 TCB 地址推送到就绪列表中,运行调度程序/调度程序,然后......关闭它:)
标签: multithreading operating-system