wangbojing / NtyCo

纯c版本的协程实现,汇编切换,调度器实现,包含服务器端案例,客户端并发测试案例

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NtyCo

coroutine

实现原理 配套视频讲解

details

coroutine FSM

storage structure (ready, wait, sleep, status)

nty_server process

compile

编译ntyco的core文件与编译libntyco.a的静态库
$ make

// 编译sample
$ make bin

err info

nty_mysql_oper.c:8:19: fatal error: mysql.h: No such file or directory

解决方案:
# sudo apt-get install libmysqlclient-dev

nty_rediscli.c:11:21: fatal error: hiredis.h: No such file or directory

解决方案:
需要编译安装hiredis: https://github.com/redis/hiredis

server

$ ./bin/nty_server

client

./bin/nty_client

mul_process, mul_core

$ ./bin/nty_server_mulcore

websocket

$ ./bin/nty_websocket_server

bench

$ ./bin/nty_bench

http server

$ ./bin/nty_http_server_mulcore

About

纯c版本的协程实现,汇编切换,调度器实现,包含服务器端案例,客户端并发测试案例


Languages

Language:C 93.8%Language:Makefile 3.7%Language:HTML 1.6%Language:Perl 0.8%Language:CMake 0.1%