Skynet
文章平均质量分 75
_RTFSC
Linux 下 C/C++ 程序员一枚~~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Skynet 源码学习 -- 二级消息队列,Worker 工作线程池, Monitor 。
二级链表构造简介Skynet 为了消息处理实现了一个二级链表:如下图所示 , 第一级链表是一个基于动态开辟节点实现的链表, 每一个节点对应一个服务单元,第二级链表是一个由数组实现的链表(需要时会以2倍的规模扩容),存储的是这个服务单元的所有待处理消息。 图示:功能点每个节点对应一个独立的服务单元。加锁 一级链表自带自旋锁,但是仅仅在Push和Pop一个节点的时候加锁即可二级链表同样自带自旋原创 2015-11-16 17:54:29 · 1885 阅读 · 0 评论 -
Skynet 源码学习 -- 服务ID skynet_handle.c , 服务模块skynet_module.c
服务ID skynet_handle.cIDID的定义是一个 uint32_t 。ID在一个独立的进程中是唯一的。ID在多个Harbor组成的Skynet网中是唯一的。ID的高8位是harbor ID 。ID的底24为是此服务模块在这个进程中的唯一id。每个ID对应一个独立的服务模块,拥有在此进程中唯一的服务名字。服务ID管理者handle_storage 源码struct handl原创 2015-11-17 18:29:22 · 1720 阅读 · 0 评论 -
Skynet 源码学习 -- Socket Server 和 Skynet_socket
异步IO选用底层接口Linux –> epool其他Unix变种 –> kevent 宏选择如下 :#ifdef __linux__#include "socket_epoll.h"#endif#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined (__NetBSD__)#in原创 2015-11-18 17:26:41 · 2950 阅读 · 1 评论
分享