3

我试图找到合适的词来定义两个不同的概念。在对在线计算机科学词典做了一些研究之后,我想我找到了答案。我只需要有人确认。下面,我写下了这两个概念以及我认为描述它们的词语。

程序 - 一组脱离程序主要流程的指令。一旦指令完成,将返回一个值到调用过程的点,然后流程从那里继续。

线程 - 一组不会脱离程序主要流程的指令。一个线程在程序旁边运行。

4

2 回答 2

3

程序指编写的代码;这是一个为你做某事的命名事物。您可以将其用作黑匣子,即,您将参数放入其中,您会得到一些结果。

线程在其最佳字面意义上就是,计算机机器在执行某些代码时将遵循的一行或一系列指令。从这个意义上说,线程是无视过程的。

TL;DR:过程是一段代码,线程是正在执行代码的东西。

于 2013-08-15T17:21:47.400 回答
1

很多这些东西都是特定于语言的,所以我会尽量做到“外行”和通用。

在您在问题中使用的意义上,它们不一定是可定义的。线程是一种与程序的其余部分同时执行的过程的实例。他们不是彼此的对立面/赞美。

过程,在这个一般意义上,听起来像是函数、方法、子例程等的术语。它只是一个逻辑分离的代码块,可以根据需要调用。

线程可能只是对过程的异步调用,它通常与调用线程共享相同的内存空间。

另一种说法,你有你的主线程,它从上到下执行,沿途调用任何过程。被调用的过程/函数/方法等仍然是主线程的一部分。您可以生成一个新线程供操作系统管理,它有自己的一组过程/命令要执行,但(通常)与主(或调用)线程共享内存空间。

于 2013-08-15T17:17:44.227 回答