A green thread is an execution unit created and scheduled by a language or runtime instead of directly by the operating system. The application may run in one operating-system thread while maintaining its own internal threads. section 8.4
Green threads clarify several concurrency distinctions:
- POSIX threads are managed by the operating system; green threads are managed internally by the application, language, or runtime. section 8.4
- Concurrency coordinates tasks that may wait, while parallelism uses multiple execution resources to perform work simultaneously. section 8.4
- Python’s asyncio manages application threads, but Python’s single-process limitations can prevent operating-system threads from producing expected speedups. section 8.4
The crusher analogy
Waiting cans represent concurrent processes, while each crusher represents execution capacity. Adding crushers increases throughput, but the operating system or runtime determines how that capacity is managed. section 8.4

