Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3519909
  • 博文数量: 1805
  • 博客积分: 135
  • 博客等级: 入伍新兵
  • 技术积分: 3345
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-19 20:01
文章分类

全部博文(1805)

文章存档

2017年(19)

2016年(80)

2015年(341)

2014年(438)

2013年(349)

2012年(332)

2011年(248)

分类: C/C++

2013-03-31 15:05:29

原文地址:关于actor model的思考 作者:moon_rock

http://blog.chinaunix.net/uid-26717867-id-3513542.html再说说我对actor model的认识。

个人认为,任何复杂的系统,要想进一步优化,都必须对业务有深刻的理解。

cs模式:
对于整个系统,最多的协议应该是Client-----Request----->Server, Server-----Response----->Client了。这个流程其实就是,[客户端]请求[服务端]说帮我服务一下,[服务端]根据这个[客户端]对应的[服务端数据]去处理,然后告诉[客户端]说我已经帮你处理好了。

宏观地讲:
[服务端]就是不断地根据[服务端数据]去计算。很显然,[服务端数据]变得独立起来,这个时候就有人假设,既然[服务端数据]是独立的,为什么我不能让每个access[服务端数据]的行为排队起来,这样就不需要加锁来保护数据结构了,而这个排队是用用户态的lock free实现的队列,这就解决了使用critical section/spin_lock造成cpu busy loop的问题。这种假设成立的条件是:每个access的行为都是Client-----Request----->Server触发的。而这个行为触发的频率相比服务成千上万的服务端频率是比较低的。所有就有了单一对象串化处理,成千上万对象并发处理的actor model。
阅读(431) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~