zoukankan      html  css  js  c++  java
  • skynet源码分析1:开篇明义

    skynet云风基于actor模型实现的一个服务器框架,核心七千多行c代码,并提供了一个lua binding。写得比较简明,用起来比较爽快,很合我的胃口,再加之决定在公司最近的一个项目上skynet,所以就决定精读一遍源码,将所思所想所得记录于此,以便用起来心安理得。

    skynet的实现基于如下几条actor行为:

    • 能创建,销毁其它actor,actor间为平级关系。
    • 能发送消息给其它actor,能接收其它actor的消息。
    • actor间的交互只能通过消息传递。
    • 能处理自己的消息。

    在skynet的世界里,actor用动态库来表示,每个so加载后,都会被赋予一个永不重复([1,4G])的id作为标识,so必须向框架注册一个回调函数用于处理消息。框架只做两件事:

    1. 将发送的消息正确送达目标actor。
    2. 均衡快速的调用so的回调处理消息,这个回调不会并发,且每次只处理一条消息。

    未完待续,有不当之处,请各位道友指正。

  • 相关阅读:
    bzoj 1004 burnside 引理+DP
    bzoj 3453 数论
    HDU 2899 三分
    HDU 2199 二分
    bzoj 3450 DP
    bzoj 1197 DP
    bzoj 2121 DP
    bzoj 2258 splay
    bzoj 1296 DP
    Memcached的限制和使用建议
  • 原文地址:https://www.cnblogs.com/watercoldyi/p/5797539.html
Copyright © 2011-2022 走看看