cocoyaxi
A go-style coroutine library in C++11 and more
...It contains a series of high-quality base components, such as a go-style coroutine, coroutine-based network programming framework, command line, and config file parser, high-performance log library, unit testing framework, JSON library, etc. co has implemented a go-style coroutine, which has the following features. Multi-thread scheduling, the default number of threads is the number of system CPU cores. Shared stack, coroutines in the same thread share several stacks (the default size is 1MB), and the memory usage is low. Simple test on Linux shows that 10 millions of coroutines only take 2.8G of memory (for reference only). There is a flat relationship between coroutines, and new coroutines can be created from anywhere (including in coroutines). Support system API hook (Windows/Linux/Mac), you can directly use third-party network library in coroutine.