免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wooin
打印 上一主题 下一主题

单cpu的机器, 多进程编程和多线程编程有多大优势? [复制链接]

论坛徽章:
0
41 [报告]
发表于 2008-01-21 20:18 |只看该作者

回复 #40 apollolegend 的帖子

这个多进程也可以做到,而且Linux中线程和进程区别不大,主要区别就是线程们具有共享的地址空间、打开的文件描述符等。
楼主想知道的是多线程与多进程之间的差别,不是串行与并行的区别。

论坛徽章:
0
42 [报告]
发表于 2008-01-21 21:08 |只看该作者
单cpu的机器, 多进程编程和多线程编程有多大优势?
呵呵,他是这样问的么!
不同的操作系统对进程、线程概念的实现也不一样。从概念上来讲,进程应该比线程更“重”一些,因此创建进程的代价应该比线程更大,每个进程都有独立的逻辑空间,进程间通信的代价也很大。但也带来一定的好处,除了显示的进程间的通讯数据外,进程间的数据不会像多线程那样“混乱”

论坛徽章:
0
43 [报告]
发表于 2008-01-21 21:11 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
44 [报告]
发表于 2008-01-21 21:54 |只看该作者
1 :1, N : 1; N : M,
看不同的操作系统是什么样的线程模型,
脱离了操作系统说线程好不好意义不大。
曾经遇见过线程模型是N:1的,
开多线程无异于自杀。效率低的不敢想象。

正在编写多线程程序,头疼中。
我的调试方法是, 一个线程一个线程的起,
等这个线程流程走完没问题了在起另外一套线程,
哈哈, 还好,程序设计的比较合理, 线程之间交流
也通过队列的形式。

论坛徽章:
0
45 [报告]
发表于 2008-01-21 22:35 |只看该作者
我还想请问下,在Linux编程时,什么情况下应该用“多进程”,而什么情况下应该用“多线程”?
各要注意什么吗?

论坛徽章:
0
46 [报告]
发表于 2008-01-22 02:01 |只看该作者
坚决支持flw的观点!
通常,人们会后悔把线程机制引入到设计中来。

论坛徽章:
0
47 [报告]
发表于 2008-01-22 08:53 |只看该作者
原帖由 wooin 于 2008-1-21 22:35 发表
我还想请问下,在Linux编程时,什么情况下应该用“多进程”,而什么情况下应该用“多线程”?
各要注意什么吗?

尽量用多进程,虽然设共享会麻烦点~

论坛徽章:
0
48 [报告]
发表于 2008-01-22 09:13 |只看该作者
very 同意flw, JohnBull等的观点.

THREAD能不用就不用.
UNIX本来没有这概念, 后来引入的. 用了程序的调试难错误容易多.

论坛徽章:
0
49 [报告]
发表于 2008-01-22 09:18 |只看该作者
现在写的程序是多进程多线程模式:大致是3个进程+1200个线程,都可以动态配置
采用配置项启动,采用主线程+1个工作线程,调试就和单线程没多少区别

仅就方便性来说,推荐多线程模型
不过如果水平不够,推荐使用多进程模型,至少单个崩溃不会引起整体瘫痪,再加上服务监测重启或者动态启动

论坛徽章:
0
50 [报告]
发表于 2008-01-22 09:21 |只看该作者
原帖由 zjzfb 于 2008-1-22 09:18 发表
现在写的程序是多进程多线程模式:大致是3个进程+1200个线程,都可以动态配置
采用配置项启动,采用主线程+1个工作线程,调试就和单线程没多少区别

仅就方便性来说,推荐多线程模型
不过如果水平不够,推荐 ...

同意
像我,写了几个DAEMON,就害怕内存泄露,所以以后使用fork去工作,泄露了也没关系,只要不是很频繁
这也算是进程的好处之一了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP