社区
进程/线程/DLL
帖子详情
多进程编程与多线程编程的区别
heartgoon2010
2011-09-03 09:16:42
RT,请问这两种方式分别在什么情况下使用,各有什么优缺点?
...全文
1439
10
打赏
收藏
多进程编程与多线程编程的区别
RT,请问这两种方式分别在什么情况下使用,各有什么优缺点?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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)几乎所有像样点的流氓软件,都会采用多进程模型?
这个怎么解释,这是怎么体会到的呢?
下载
多线程
编程
技术开发资料 高清完整PDF版
多线程
编程
技术开发资料.pdf 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
多线程
编程
技术开发资料.pdf
多线程
编程
技术开发资料.pdf
多进程
编程
VS
多线程
编程
创建线程/销毁线程比创建进程/销毁进程更加高效和轻量。所以,一般情况下,会使用
多线程
来进行开发。但是,
多进程
也有它自己独特的优势,进程的“独立性”更好。进程要比线程来的更加稳定一点。虽然进程没有线程那么高效,但是它的独立性带来的稳定是非常关键的,在某些场景下必须使用
多进程
编程
。
多进程
和
多线程
的
区别
是什么?
多进程
和
多线程
的优缺点分析
多进程
和
多线程
的主要
区别
是:线程是进程的子集(部分),一个进程可能由多个线程组成。
多进程
的数据是分开的、共享复杂,需要用IPC;但同步简单。
多线程
共享进程数据,共享简单;但同步复杂。
多进程
,Windows 应用程序中消息有两种送出途径;直接和排队。Windows或某些运行的应用程序可直接发布消息给窗口过程,或者,消息可送到消息列象连续不断轮询消息队列的OS中当前执行的每个进程都 ...
一篇详细教程,并发
编程
之
多线程
与
多进程
作者:郭震我们之前探讨过“生成器与迭代器之异步生成器”,了解了生成器的异步用法,接下来的主题将进一步扩展我们对并发
编程
的理解,专注于 Python 中的“
多线程
”与“
多进程
”这两种并发
编程
模型. 什么是并发
编程
? 并发
编程
允许程序同时管理多个任务,这些任务可以相互独立或相互交互.在 Python 中,并发
编程
主要通过
多线程
和
多进程
两种方式实现.两者各有其优缺点和适用场景.
多线程
vs
多进程
多...
进程/线程/DLL
15,472
社区成员
49,171
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章