-
Notifications
You must be signed in to change notification settings - Fork 0
Portable lightweight goroutine-like threads for C
License
acecil/ago
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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.
About
Portable lightweight goroutine-like threads for C
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 100.0%