社区
进程/线程/DLL
帖子详情
多进程编程与多线程编程的区别
heartgoon2010
2011-09-03 09:16:42
RT,请问这两种方式分别在什么情况下使用,各有什么优缺点?
...全文
1397
10
打赏
收藏
多进程编程与多线程编程的区别
RT,请问这两种方式分别在什么情况下使用,各有什么优缺点?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qunqun2012
2011-09-03
打赏
举报
回复
mark [Quote=引用 6 楼 ok1234567 的回复:]
一般而言
进程有独立的地址空间,而同一进程中的线程则需要共享
开一个进程成本高于线程,优点是隔离度好
开一个线程的成本较低,但是需要程序员管控的东西也多,相互影响而出问题的机会也较大
对于频繁启动的、大量的执行单元,恐怕只能选择线程(纤程)模型
所以,从程序员的角度,我们只能看到某种代码是线程安全的,而没有说进程安全的:)
[/Quote]
ok1234567
2011-09-03
打赏
举报
回复
几乎所有像样点的流氓软件,都会采用多进程模型
那叫,赶不尽,杀不绝
[Quote=引用 5 楼 my_id_is_null 的回复:]
在Windows平台,看到多进程就让我想到了360安全卫士客户端。服务端就不清楚了,貌似用得比较多。
[/Quote]
ok1234567
2011-09-03
打赏
举报
回复
一般而言
进程有独立的地址空间,而同一进程中的线程则需要共享
开一个进程成本高于线程,优点是隔离度好
开一个线程的成本较低,但是需要程序员管控的东西也多,相互影响而出问题的机会也较大
对于频繁启动的、大量的执行单元,恐怕只能选择线程(纤程)模型
所以,从程序员的角度,我们只能看到某种代码是
线程安全
的,而没有说
进程安全
的:)
winginsky
2011-09-03
打赏
举报
回复
在Windows平台,看到多进程就让我想到了360安全卫士客户端。服务端就不清楚了,貌似用得比较多。
shenyi0106
2011-09-03
打赏
举报
回复
按照一般操作系统的理论而言,进程是资源的拥有者(或者说是管理者),而线程是执行者,
更换执行者比更换管理者要简单和便宜很多;但是linux貌似都差不多,所以这个概念我觉得还是有必要分开说比较好
Eleven
2011-09-03
打赏
举报
回复
http://www.cnblogs.com/li0803/archive/2008/11/02/1323930.html
Gloveing
2011-09-03
打赏
举报
回复
如果一个程序既要处理大量运算、数据,又要能很好的显示界面、及时响应消息,就多线程吧;
见习学术士
2011-09-03
打赏
举报
回复
当运行的个体之间(线程/进程)保持独立性,互补影响时(一个进程挂了,其它的还在),就使用多进程了。
其它情况多线程就好。
上面指的多进程/多线程 执行的是相同的任务。
ok1234567
2011-09-03
打赏
举报
回复
进程是OS管理的,进程和进程之间本来就是逻辑隔离的,只要OS不出问题,一个进程的错误一般不会影响到其它进程:好处,隔离得好;缺点,成本高,信息资源共享麻烦
线程是在进程中启动的执行单元,共享进程资源,有利于争夺CPU等分时资源,实现并发多任务...好处:性能优越,缺点,程序设计麻烦,这里的概念“线程安全”就是对于所有的资源使用冲突都解决得很好,并不容易的
流氓软件,都会采用多进程模型?不然用户就会轻易终止软件的执行,多进程的时候,当你终止一个进程,它就给你启动一个,你永远也终止不了,它一直都可以运行:进程之间互相看守...
heartgoon2010
2011-09-03
打赏
举报
回复
[Quote=引用 6 楼 ok1234567 的回复:]
一般而言
进程有独立的地址空间,而同一进程中的线程则需要共享
开一个进程成本高于线程,优点是隔离度好
开一个线程的成本较低,但是需要程序员管控的东西也多,相互影响而出问题的机会也较大
对于频繁启动的、大量的执行单元,恐怕只能选择线程(纤程)模型
所以,从程序员的角度,我们只能看到某种代码是线程安全的,而没有说进程安全的:)
[/Quote]
谢谢你的回答!我还是不是太明白
(1)隔离度好?程序员掌控的东西多?
在socket网络通信中,每来一个连接,fork一个进程去执行I/O跟启动一个线程去执行I/O似乎看不出进程的这两个优点。能不能举个特殊的例子说明一下。
(2)几乎所有像样点的流氓软件,都会采用多进程模型?
这个怎么解释,这是怎么体会到的呢?
Python可以这样学(第三季:
多线程
与
多进程
编程
)
董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,通过大量实际案例讲解Python 3.5.x和3.6.x中的
多线程
与
多进程
编程
。
多进程
编程
VS
多线程
编程
创建线程/销毁线程比创建进程/销毁进程更加高效和轻量。所以,一般情况下,会使用
多线程
来进行开发。...虽然进程没有线程那么高效,但是它的独立性带来的稳定是非常关键的,在某些场景下必须使用
多进程
编程
。
多进程
和
多线程
的
区别
是什么?
多进程
和
多线程
的优缺点分析
多进程
和
多线程
的主要
区别
是:线程是进程的子集(部分),一个进程可能由多个线程组成。
多进程
的数据是分开的、共享复杂,需要用IPC;但同步简单。
多线程
共享进程数据,共享简单;但同步复杂。
多进程
,Windows...
多进程
与
多线程
区别
在Unix上
编程
采用
多线程
还是
多进程
的争执由来已久,这种争执最常见到在C/S通讯中服务端并发技术 的选型上,比如WEB服务器技术中,Apache是采用
多进程
的(perfork模式,每客户连接对应一个进程,每进程中只存在唯一一...
多线程
、
多进程
的
区别
及适用场景
对于
多进程
和
多线程
,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度...
多进程
编程
调试都比
多线程
简单。进程之间互相不影响,一个线程挂掉将导致整个进程挂掉。
多进程
适合多核,多机分布,多线...
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章