Operating System Design/Fibers
Fibers are particularly lightweight threads of execution. Like threads, they share an address space, but their method of multitasking is different. While threads are usually managed by a scheduler with preemptive multitasking, fibers use cooperative multitasking. This means that synchronization is less of a problem, because fibers choose when to yield to other fibers.