首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-08 
多线程还是多进程?刚从windows转做linux,看unix环境高级编程,觉得linux下进程很好用,请问在linux下什么时

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

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

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

热点排行