多线程的定义

时间:2010-11-30 09:26:49

标签: multithreading

并不是真正编程相关的这个问题,但我仍然希望它在某种程度上适合这里:)。 我在作品中写了以下句子:

Mulitthreading refers to the ability of an OS to subdivide an application into
threads, where each of the them are capable to execute independently.

有人告诉我,这个线程的定义太狭隘了。我不确定为什么会这样,有人可以这么好地向我解释我错过了什么吗?

谢谢

2 个答案:

答案 0 :(得分:0)

通常,应用程序决定何时创建线程,而不是操作系统。此外,您可能希望提及线程共享地址空间,而每个进程都有自己的。

答案 1 :(得分:0)

从根本上讲,一个线程是一个保存的执行上下文 - 一组保存的寄存器和一个堆栈,您可以恢复并继续执行。这个线程可以在处理器上执行(现在,很多机器当然可以同时执行多个线程)。

“多线程”的关键方面是,操作系统可以通过在线程运行一段时间后抢占(停止)线程来同时模拟多个线程的执行(“量子” “),然后根据特定于操作系统的特定算法调度另一个要运行的线程。