参考云风的协程库实现:https://github.com/cloudwu/coroutine
云风的协程为 非对称的共享栈协程
以下为fiber实现的非对称协程:
环境:win7、VS2013
头文件: (coroutine.h)
#ifndef __COROUTINE__H__
#define __COROUTINE__H__
#define COROUTINE_DEAD 0
#define COROUTINE_READY 1
#define COROUTINE_RUNNING 2
#define COROUTINE_SUSPEND 3
typedef struct schedule schedule;
typedef void(*coroutine_func)(schedule *s, void *ud);
schedule *coroutine_open();
void coroutine_close(schedule *s);
int coroutine_new(schedule *s, coroutine_func *, void *ud);
void coroutine_resume(schedule *s, int id);
void coroutine_yield(schedule *s);
int coroutine_status(schedule *s, int id);
int coroutine_running(schedule *s);
#endif
源文件:(coroutine.c)
#include <stdio.h>
#include <stdlib.h&