线程与进程一般

时间:2011-05-14 18:33:44

标签: multithreading process threadpool

1)为什么线程创建比创建流程更便宜?

2)线程和子进程之间有什么区别?这与上述问题有何关系?

2 个答案:

答案 0 :(得分:3)

创建进程时,会分配堆和堆栈内存。另一方面,线程只获得一个堆栈并与父进程共享堆。这意味着即使你只考虑内存分配,创建一个进程比一个线程更“昂贵”。

子进程只是由另一个进程创建的进程。它们是独立的,并获得自己的存储空间。这是an article that goes into some more detail

答案 1 :(得分:2)

这个问题的答案可能非常依赖操作系统,但一般规则是:

  1. 进程的线程与其父进程存在于同一虚拟内存空间中。因此,线程创建比创建进程要便宜,因为底层操作系统不需要创建完整的虚拟内存空间。

  2. 子流程只是父进程产生的另一个进程。