大虾级及其以上进--UNIX系统进程和线程的关系问题
两种方式:一:线程方式:大约有200个左右的系统级的线程(特别繁忙的工作),和80个左右的用户线程;方法二:建立60个左右的子进程,每个子进程下有3个左右的子进程(特别繁忙的工作),外加1-2个左右的用户级线程,即把方式一下的线程分到各个子进程中去,且这些进程之间的基本没有同步和通信。
那种效率更高一些呢?为什么?或者谁有更好的解决方案?
谢谢,分不够再开贴!
问题点数:100、回复次数:4Top
1 楼MagicCarmack(MagiC++)回复于 2006-06-03 10:42:24 得分 0
我是菜鸟,帮你顶
估计楼主到www.chinaunix.net去问,应该很快搞定!Top
2 楼xpdavis(咕嘟-不想孤独)回复于 2006-06-03 11:05:44 得分 0
线程占用资源更少。不过具体的设计还是要根据实际情况而定Top
3 楼linaxing(三月三)回复于 2006-06-03 12:32:26 得分 0
不明白你所说的系统级线程是什么。线程占用的系统资源比较少,因此建立一个线程的“花费”较少,所以当需要频繁建立线程的时候其优势就体现出来了。线程效率的问题,取决与线程的实现,这在不同的系统上可能会有所不同,具体要看所用系统的相关文档。
一个比较稳妥的办法就是作个试验,有时候理论上的东西并不代表实际上就是如此。Top
4 楼x86(大雪)回复于 2006-06-03 14:18:20 得分 0
1、用线程比进程好,一般需要预分配一批线程(所谓线程池)。
2、有时候并不需要你估计的那么多线程,最好重新评估一下你的设计。
3、如果系统分为几个相当独立的部分,各部分可以用进程实现。
4、线程设计时一定要注意瓶颈线程的优化问题,具体问题具体分析。Top




