并发多进程服务器和多线程服务器总结

多进程服务器和多线程服务器区别

多进程的服务器就好比是 立体的交通系统(立交桥)虽然说建造的时候花费比较大,消耗的资源比较多,但是真要是跑起来不会交通堵塞。但是汽车在上面跑,相互通信就是个很费事儿问题(进程间通信比较麻烦);
多线程就好比是平面的交通系统,造价低,但是很容易交通堵塞, 但是也有好处同步的时候方便。

在网络服务器方面

单进程 < 多进程(单线程)< 多进程(多线程)

在游戏方面的应用

多线程服务器

  1. 按场景分线程,一个线程管理若干个场景。这样配置灵活,一个线程可以管理若干个小场景,除非有个场景人多到一个CPU跑不下来,一般的游戏都会满足需求。缺点则是不在同一线程的Object在做逻辑交互时,必须用异步,如果用到了脚本,那么这里的复杂度和性能要值得注意。如果项目中出现单个服务器解决不鸟的问题(例如战场服务器),似乎就成了多线程多进程的庞大架构。
  2. 按功能分线程,例如Object的管理和查找,NPCAI的寻路,这种方式貌似在做逻辑需要分离到别的线程模块功能时有点麻烦,如果直接上锁等待肯定不是最好的方式,所以这些逻辑必须变成异步。

多进程服务器
其实这里可以理解为把多线程要处理的数据放到了进程上来处理,client和进程之间通过网关来处理数据,这个模式优点是便于扩展。数据处理不过来就加机器进行分布
画个简单流程图让大家简单理解下
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值