Skip to content

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

Notifications You must be signed in to change notification settings

wangbojing/NtyCo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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