轻量级重量级过程

时间:2011-05-14 18:46:14

标签: multithreading process

关于上述问题,以下断言是否属实?

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

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

我知道它还有更多,但我想知道这是否会成为对重量级和轻量级流程的非常基本的了解......

5 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

实际上我认为这是相反的方式。 Wikipedia说:

  

在计算机操作系统中,a   轻量化过程(LWP)是一种手段   实现多任务处理。在里面   这个词的传统意义,如   用于Unix System V和Solaris ,.   LWP在用户空间中运行   单个内核线程并分享它   地址空间和系统资源   与其他LWP在同一个   处理。多个用户级线程,   由线程库管理,可以   置于一个或多个LWP之上 -   允许多任务完成   用户级别,可以有一些   性能优势。

因此,LWP在同一进程中共享地址空间。换句话说,LWP是一个子流程。

答案 2 :(得分:1)

LWP == thread

轻量级进程是仍然在Solaris上使用的线程以及* nix变体上的某些实用程序的面额。 (例如,Linux上的ps。)

答案 3 :(得分:1)

1.multithreading

java中的多线程是一个同时执行多个线程的过程..

线程是一个基本上轻量级的进程...最小的处理单元。多管理,多处理都用于实现多任务处理。

为什么我们使用多线程和多处理 - 因为线程共享一个公共内存区域而不是为单个线程分隔内存..

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

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

它不会阻止用户,因为线程是独立的,您可以同时执行多个操作。

多任务

Multasking是一个同时执行多个任务的过程。我们使用多任务来利用cpu..multitasking有两种类型必须实现.. 1.基于过程的多任务处理(多进程) 2.基于雷达的多任务处理(多径处理) 1.基于过程的多任务处理(多进程)

每个进程在内存中都有自己的地址,并将seprate内存分配给每个进程..

这是一个重量级的过程..

2.基于三叉神的多任务处理(多径处理)

线程共享相同的地址空间。

线程很轻。

什么是线程..

线程是一个轻量级进程。它包含单个进程,但多个线程依赖,如果在一个线程中发生异常,但对其他线程没有影响。

答案 4 :(得分:0)

线程也称为轻量级进程,因为它与进程存在于同一个地址块中,并与其他线程共享进程的代码,数据和操作系统资源。线程之间的通信成本较低。

重量级进程定义并行运行的进程以完成其任务。每个进程都有自己的数据,代码和操作系统资源,并且这些进程需要额外的资源来进行通信。

轻量化工艺比重量工艺更具优势。