multithreading - 轻量级与重量级流程

标签 multithreading process

关于上述问题,以下断言是否正确?

轻量级进程包含单个进程但包含多个线程

重量级进程可以包含多个子进程

我知道它远不止这些,但我想知道这是否可以作为对重量级和轻量级过程的非常基本的理解......

最佳答案

操作系统(OS)下的正常进程是重量级进程。对于每个这样的进程,操作系统提供了一个独立的地址空间,这样可以将不同的用户和服务分开。从一个这样的过程切换到另一个过程是耗时的,尽管现代机器包含一个特殊的单元,内存管理单元 (MMU),专用于该任务。
一个轻量级进程(LWP),也称为线程,运行在一个普通(重量级)进程的地址空间下,同一进程下的 LWP 可以共享例如变量。从一个 LWP 切换到另一个 LWP 比从一个重量级进程切换到另一个要快得多,因为要管理的更少,而且不涉及 MMU。

关于multithreading - 轻量级与重量级流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6004069/

相关文章:

c# - 在后台线程上正确加载文档

c# - BackgroundWorker 异常处理

linux - "really"如何理解进程和线程?

Java - 读取进程输出时出现问题

android - 如何获取已安装应用程序的应用程序标签

web-applications - 先设计界面还是写代码哪个更好?

android - 从 Android 应用程序启动 shell 以运行单独的可执行文件

c++ - QTimer->remainingTime() 返回 -1371648957

java - GLFW 的线程设置

c# - Control.Invoke() 与其委托(delegate)调用之间的延迟是多长时间?