windows 纤程(fiber) 实现的协程

本文介绍了如何使用Windows纤程(fiber)实现非对称的共享栈协程。参考了云风的协程库,该实现适用于win7环境,采用VS2013进行编译。通过包含头文件`coroutine.h`,并在`main.c`中编写测试程序,可以创建和管理这些协程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考云风的协程库实现: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&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值