开源项目cpp_features提供了一个仿golang协程的stackful协程库. 可以在c++中使用golang的协程,大概语法是这样的:
#include <iostream>
void foo()
{
std::cout << "foo" << std::endl;
}
co_main()
{
go foo;
}
怎么样,语法是不是和golang很像? 以下是这个项目的ReadMe
coroutine是一个使用C++11编写的调度式stackful协程库, 同时也是一个强大的并行编程库
目前支持两个平台:
Linux (GCC4.8+)
Win7-64bit (VS2013/2015)
使用coroutine编写并行程序,即可以像golang、erlang这些并发语言一样
开发迅速且逻辑简洁,又有C++原生的性能优势,鱼和熊掌从此可以兼得。
coroutine有以下特点:
* 1.提供golang一般功能强大协程,基于corontine编写代码,可以以同步的方式编写