what is the difference between a thread and fiber?
Threads use pre-emptive scheduling, whereas fibers use cooperative scheduling. With a thread, the control flow could get interrupted at any time, and another thread can take over. With multiple processors, you can have multiple threads all running at the same time (simultaneous multithreading, or SMT).