Libtask
lastmod 2026-11-10created 2020-07-152 edits
libtask is a coroutine library for C and Unix environments. Modeled on Plan 9's thread library, it provides lightweight tasks that switch cooperatively in user space instead of using operating system threads, along with channels for passing values between tasks. It is used when you want to write asynchronous I/O sequentially like blocking code, and it is often mentioned as a forerunner of the Go language's goroutine and channel model.
a Coroutine Library for C and Unix