Skip to content
/ Coro Public

用c语言setjmp和longjmp实现的一个最基本的协程

Notifications You must be signed in to change notification settings

adinosaur/Coro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Coro

用c语言setjmp和longjmp实现的一个最基本的协程,详见blog

Usage

使用包含头文件#include"Coro.h",模块只有三个接口:

  1. coro_new创建一个协程。
  2. coro_yield将控制返回给主(调度)协程。
  3. coro_main运行主(调度协程)。
void co1(void* msg)
{
	for (int i = 0; i != 5; ++i)
	{
		printf("%s\n", (char*)msg);
		coro_yield();
	}
}

int main(int ac, char** av)
{
	coro_new(co1, "hello");
	coro_new(co1, "world");
	coro_main();
	return 0;
}

About

用c语言setjmp和longjmp实现的一个最基本的协程

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published