有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么线程被称为轻量级进程?

在阅读大多数java教程时,他们提到线程是轻量级进程。我知道线程创建过程中发生了什么,但我没有得到线程的定义。在大多数情况下,我也回答了这个问题。但这也让我感到困惑。无法理解“轻量级流程”背后的真实想法。有人能用最简单的方式解释“线程是轻量级进程”的含义吗


共 (3) 个答案

  1. # 1 楼答案

    一个进程有不同的内存区域。根据操作系统的不同,有些可能被分组、不存在,甚至被拆分:

    • 密码
    • 内存(用于变量)
    • 堆叠
    • 堆(用于动态分配)

    创建新流程时,系统必须分配所有这些。对于一个线程,只分配一个新堆栈,同一进程的所有线程都共用头上内存

  2. # 2 楼答案

    我猜这是因为父进程生成的线程在内存中使用相同的地址空间。另一方面,每个进程都有自己的地址空间。基于这一事实,进程的上下文切换比线程的上下文切换要重得多

  3. # 3 楼答案

    你可以这样称呼它,因为线程就像进程一样,是一种并行、并发的执行流。但与进程相反,一个线程与同一进程中的其他线程共享相同的内存,而不是完全独立的内存