关于使用线程还是进程的一些讨乱

至少在linux上,多THREAD程序和多进程程序,对于能不用THREAD的要尽量不用。

拿我说的例子:CLIENT数目有最大数值的(不是越多越好的),连接时间比较长的这一类服务,
用多THREAD几乎没有什么意义。

THREAD的优势是创建开始运行比进程快些(pthread_create比fork), 一旦运行起来,进程的切换和thread的切换差别没有什么。调度也都按进程做的。
THREAD因为共享了内存使得物理内存节省。然而进程本身也有共享的物理页(比如共享库部分)。

还有一开始用多THREAD在那里等着(池)。对于连接数量小并且固定的服务意义不大。

正是因为共享内存,使得多THREAD程序的调试麻烦,运行稳定性不如进程。

所以我建议,能不用THREAD尽量不用。如果必须用,也可以先不用--用进程,等都调试好了后在改THREAD。也不晚。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值