- 博客(5)
- 资源 (7)
- 收藏
- 关注
原创 libco协程
libco协程框架协程简介协程简称用户态线程,是在线程下自己实现的切换的用户态程序切换。实现方式大致分为以下方式:使用glibc ucontext 使用汇编实现 c 语言 switch-case c setjmp longjmplibco协程切换使用汇编实现, 支持独立栈(128k大小)和共享栈(写时拷贝)模式。支持hook socket族函数来完成网络自动协程的框架包装。...
2018-11-23 16:49:01 572 1
翻译 zmq的内部结构
介绍:本文介绍了ZMQ的一些概述,但不会涉及到一些细节,因为随着版本的更新,实现的细节也不一样,而且很多代码是为了兼容不同的操作系统和编译器的,如果需要知道其中的细节,还是要看源码。全局状态:在库里使用全局变量看起来是一件搬起石头砸自己的脚的事情。一开始一切正常,直到一个全局变量被可执行文件链接两次(见下图),就会发生一些奇怪的错误和崩溃。为了防止这种事情发生,zmq没有使用全局变量,相反,...
2018-11-23 16:46:21 1364
原创 zmq源码阅读笔记之基础数据结构
1,arrayzmq实现了一套自己的数组,数组内部用一个std::vector <T*> 来保存数据 template <typename T, int ID = 0> class array_t { private: typedef array_item_t <ID> item_t; public:...
2018-11-23 16:45:22 443
原创 zmq源码阅读笔记之网络消息与命令
mailboxmailbox是线程之间用于收发命令的类定义如下 class mailbox_t : public i_mailbox { public: mailbox_t (); ~mailbox_t (); fd_t get_fd () const; void send (const command_t ...
2018-11-23 16:44:27 1429
原创 c++ json与protobuf 转换
/* * data: 2018-04-14 * author: cc509a * email: * protocol buffer and json convert each other * support array ,enum*/#ifndef MYLIB_JSON_2_PB# define MYLIB_JSON_2_PB#include "jso...
2018-11-23 16:42:22 8552
2017阿里技术年度精选(下)
2018-11-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人