【问题标题】:Can we say that a thread is a process?我们可以说一个线程是一个进程吗?
【发布时间】:2021-11-20 00:42:00
【问题描述】:

我们可以说任何单个线程(定义为进程的实例)本身就是一个进程吗?

【问题讨论】:

  • 说线程是进程是对语言的误用。线程和进程是两个根本不同的实体(具有不同的属性)。线程始终附加到一个进程(其父进程)并且不能单独存在。进程中单独的线程仍然是线程而不是进程。请注意,有些人将进程视为“重进程”,将线程视为“轻量进程”(这仍然很好,因为尽管有点混乱,但还是有区别的)。
  • 哦,非常感谢,我被重量级和轻量级的概念弄糊涂了。现在很清楚了。 :)

标签: multithreading process operating-system


【解决方案1】:

我们可以说任何单个线程(定义为进程的实例)本身就是一个进程吗?

没有。线程和进程是根本不同的东西。 “线程”是执行一系列计算步骤的上下文。 “进程”是一个容器,通常由内存视图、文件描述符等内容组成,并且可以包含一个或多个线程。

这些概念有时会被混淆,因为过去很多系统的线程和进程是一一对应的,即每个进程只有一个线程。因此,他们将计划执行的事情称为“进程”。

后来,当添加了对具有多个线程的进程的支持时,这意味着创建多个被安排执行的事物,这些事物被称为“进程”。这大部分已被清理干净,但由于这些类型的转换,您仍然会看到那个时代的系统、代码和论文与现代用法不太相符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 2019-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多