linux 多线程多进程如何选择,多线程vs多进程,谁在Linux能更好发挥多核CPU的能力...

系统:

Suse Linux 9 企业版

环境:ATCA的Blade

2.4G 至强 双CPU,  8G内存

处理的内容

呼叫(没有硬盘读写,都是网络通信)

高手们帮忙解答一下,

问题是如题

BTW

某些同事说,Linux 2.6内核中,进程相当于线程还来出来,不知道是不是这样?

我以为在Linux中还是线程还是当成简单的进程处理的。

|

1、Linux内核是以LWP为调度单位的。

2、线程分内核线程和用户空间线程。用户空间线程被映射到内核线程执行,可绑定。

3、用多进程还是多线程,视实际应用需求而定,没有绝对优劣。

|

内核中是以进程为单位调度的.而线程库的调度又在进程之内,因此,多线程基本上不会起到什么作用.所以,你会发现Linux采用多线程编程不是很多.这个方面与windows有所区别,windows的调度单位是线程,因而,windows多线程编程很常用.

另外:内核线程从这个方面来说可以把它做进程看待(轻量级进程)

|

In linux the thread called the light processd.

|

如果不是嵌入式,我推荐还是用多进程

主要看你的进程交互多不多,数据大不大

|

... 一个进程你能用多少内存呢?

内存再多 你也只能用个1-2g

所以混合使用是王道。

想像一下qq 的服务器吧,无数的server 合作来玩的。 进程间通信 很重要。

|

差不多就这样的

|

那就要看linux的版本了吧,老版本的可能多线程会给很少的内核线程,新版本的应该会给多些,并发加大。

|

对于多处理器,进程应该能发挥更好的性能

|

当然是多线程!

|

|

还是线程吧, 多进程还得考虑进程间通信的问题,麻烦。

|

引用 1 楼 lihualoveyou 的回复:

内核中是以进程为单位调度的.而线程库的调度又在进程之内,因此,多线程基本上不会起到什么作用.所以,你会发现Linux采用多线程编程不是很多.这个方面与windows有所区别,windows的调度单位是线程,因而,windows多线程编程很常用.

另外:内核线程从这个方面来说可以把它做进程看待(轻量级进程)

|

强烈建议你到“内核及驱动程序研究区”去发布这个帖子,因为这个问题不属于“程序开发区”范畴,在“内核”区应该可以得到更多的帮助。

——————————————————————————————

《精通Unix下C语言编程与项目实践》(http://book.educity.cn/viewbook.asp?id=87 ),

本书以实际应用为目标,直接讲述在产生中最有可能知识,并提供可直接使用的应用编程模板,对初学者尤其有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值