erlang消息广播要注意什么问题?
2016-05-17 17:22
197 查看
1、reduction计数
通常会启动一个消息管理进程,这个进程就负责把广播消息转发给对应的所有玩家进程。启用管理进程的一个好处是,进程发消息会扣除reduction,而且这个reduction扣除大小还受到接收者进程影响。假如直接在地图进程做消息广播,就会导致地图进程受到的调度极度减少,影响战斗计算。
2、消息复制
erlang消息发送基于复制,但对于比较大的二进制数据,则会优化成二进制引用,减少二进制复制带来的开销。所以,当一个消息要发给多个进程,特别是协议数据(发给前端也要先转成二进制),可以先转成二进制再发送。
通常会启动一个消息管理进程,这个进程就负责把广播消息转发给对应的所有玩家进程。启用管理进程的一个好处是,进程发消息会扣除reduction,而且这个reduction扣除大小还受到接收者进程影响。假如直接在地图进程做消息广播,就会导致地图进程受到的调度极度减少,影响战斗计算。
2、消息复制
erlang消息发送基于复制,但对于比较大的二进制数据,则会优化成二进制引用,减少二进制复制带来的开销。所以,当一个消息要发给多个进程,特别是协议数据(发给前端也要先转成二进制),可以先转成二进制再发送。
相关文章推荐
- 基本排序算法
- 二叉树遍历非递归
- iOS之导航栏的设置与UITabBarController的属性设置
- struts2接收参数的3种方法
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- ubuntu 下vim修改tab键为4个空格
- Scrum 项目4.0
- 机器学习 —— 概率图模型(Homework: Structure Learning)
- 理解多线程
- intellij idea 搭建scala环境和一些问题
- Football
- iOS8 屏幕横竖屏分析
- asp.net TreeView的选中CheckBox触发事件(父对象选中子对象全选)
- 进程字典与ets
- 2016-百度之星-资格赛-Problem C【字典树】
- Unreal Cook Book:动态改变材质的颜色等参数
- 高效排序算法(希尔排序)
- 高效排序算法(快排序)
- 零编程开发管理软件,提高效率,缩短开发周期
- php+nginx搭建