在计算机科学中,纤程(英语:Fiber)是一种最轻量化的线程(lightweight threads)。它是一种用户态线程(user thread),让应用程序可以独立决定自己的线程要如何运作。操作系统内核不能看见它,也不会为它进行调度。
就像一般的线程,纤程有自己的定址空间。但是纤程采取合作式多任务(Cooperative multitasking),而线程采取先占式多任务(Pre-emptive multitasking)。应用程序可以在一个线程环境中创建多个纤程,然后手动运行它。纤程不会被自动运行,必须要由应用程序自己指定让它运行,或换到下一个纤程。
跟线程相比,纤程较不需要操作系统的支持。
一个用户态线程拆分成多个纤程,通过用户态代码来调度纤程,从而让各个纤程“非抢占”地工作。相关Windows API: