游戏开发论坛

 找回密码
 立即注册
搜索
楼主: gantleman

究竟多线程还是多进程?

[复制链接]

6

主题

20

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2012-9-3 18:39:00 | 显示全部楼层

Re:究竟多线程还是多进程?

多线程本身的目的就是为了能够最大限度发挥cpu处理能力,多线程是并发访问,单线程是线性访问,孰优孰劣,一看便知。请注意,这里所指的单线程多线程都是指逻辑开发,网络层相信很少有人会用单线程。。。
但事实效率的提升往往不会是尽如人意,因为多线程在逻辑处理中需要同步数据,俗称加锁操作,从而造成频繁的线程上下文切换,反而会很大影响性能,甚至不如单线程。个人认为,多线程是否能够处理得好的标杆就在于设计规划如何避免线程频繁切换,至于有人时候多线程还会造成线程死锁之类的,这个就如楼上有人说的,好的主程会在架构设计规划上做好同步处理,合理利用各种锁, 所以在逻辑层面上的开发人员是不需要用到锁的,也就不会有死锁问题。
回过来说单线程多进程,显然进程和进程间在数据共享上不如单个进程内方便,通常都是通过Socket发送数据来同步各个进程的数据,这就需要设计人员有丰富的功能分割经验,以尽量减少进程间的数据传输。并且,开发成本来说,跨进程的开发始终会繁琐些。当然,说这些不是为了说单线程不好,在我所接触过的多进程项目中,整理开发感觉很简单的,基本谁都很容易上手。
综合上述,其实用多线程还是多进程完全取决于你的开发能力,整体团队素质,就好比讨论你开发服务器用C++好还是用C#好,如果是能力不够的人,即使用C++开发,其性能也不会比C#好,很大程度上取决于开发的人。但有一点是永恒不变的,服务器强调的是性能,所以我们现在开到的服务器普遍还是C++开发。同理,多线程还是多进程,最终也是为了获取更好的性能,只要你有能力,为何不充分发挥多核优势呢?

100

主题

596

帖子

708

积分

高级会员

Rank: 4

积分
708
发表于 2012-9-8 19:37:00 | 显示全部楼层

Re:究竟多线程还是多进程?

这个讲得还不错,建议看看
http://blog.csdn.net/Solstice/article/details/5307710

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
 楼主| 发表于 2012-9-8 20:57:00 | 显示全部楼层

Re: Re:究竟多线程还是多进程?

这哥们写的东西还停留的在对接口和概念的消化吸收阶段。
缺乏自己独立分析和具体应用上的理解。
这种对基本概念的流水帐似的文章还不如看例子代码,能看睡着了。
tkminigame: Re:究竟多线程还是多进程?

这个讲得还不错,建议看看
http://blog.csdn.net/Solstice/article/details/5307710

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-27 19:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表