This is a C++11 implementation by Andrew Gascoyne-Cecil of the ago repo created by Alireza Nejati. The example compiles and runs with gcc-4.7 on Ubuntu, and VS2012 RC. The README from the C original C implementation is below: For a quick example on how to use this, see ago_test.c. I am aware that there are multiple implementations out there that try to do this. Mine is different, however: - It's lightweight, providing only the base functionality needed for goroutine-like functions. There is no message passing, just function creation. I might add message-passing in the future. - It's so lightweight you can (and should) directly include the source, without compiling a separate library. - It is all POSIX threads so it's portable. There are no busy-wait loops or anything. If you don't have unistd.h on your system, just comment it out and remove the usleep(). The only thing that *might* change is increased CPU usage. - I took great care for there to be no race conditions, but with multithreading you never really know. Please tell me about any bugs you find. By the way, the reason there's an alib_ before everything is that this was originally part of my own custom C extension library, Alib. I might release the full library in the future.