读书人

多线程还是多进程?解决方法

发布时间: 2012-03-08 13:30:13 作者: rapoo

多线程还是多进程?
刚从windows转做linux,看unix环境高级编程,觉得linux下进程很好用,请问在linux下什么时候用进程,什么时候用线程,有没有明确的标准?

[解决办法]
没有明确的标准,linux中的线程是light process(轻进程),其实它的线程也是用的进程实现的,只是这些线程共享同一个进程的地址空间。
在linux中如果要共享变量的话用线程方便(当然,也可以多进程共享内存的方式,但是需要的知识就复杂了点)。如果只是单纯的一个进程的输出作为另一个进程的输入的话,用进程方便,因为编程简单
[解决办法]
1. 进程是线程的容器,即一个进程中至少有一个线程(通常称为主线程)
2. 进程中的各线程共享heap,但每个线程有自己的stack

如果要在同一个进程中,且在同一时间要做两件或以上不同的事情,就可以考虑使用线程。线程之于进程,有如进程之于操作系统。

读书人网 >C++

热点推荐