python多线程与多进程

2020-05-31  本文已影响0人  Teech

由于去个新公司,业务开发都是用python,由于之前使用的lua开发,对python如何支持多线程挺好奇的,随着了解python有个GIL这个东西使得业务开发中使得单个python程序并不能充分利用多核的优势。
由于业务是游戏业务,状态同步的游戏,服务器有大量计算以及序列化反序列化的业务(比如战斗功能,以及战斗结束后大量日志的序列化反序列化业务),这个使得架构中变得一个game进程最好同时只有一个战场。虽然这种架构在多核的机器上一定程度可以利用多核,但是这个业务颗粒划分的还是太粗了。比如一个战场的逻辑在某个核上跑超时的时候,其他核还是处于比较空闲的状态,这个就变得‘一核有难,多核围观’的尴尬的状态了,所以就考虑在一个战斗义务的时候进行一定的划分并且尽量多共享一些数据避免使用“网络传输来共享数据”。实现上述的这个我觉得有2个方案

上一篇下一篇

猜你喜欢

热点阅读