在计算机编程里,线程(thread)是一例代码序列,它们被当作一个单元,典型的单一用户、事务或消息来操作。线程有时候用量级来描述,这是指对于给定的线程有多少任务信息需要被系统保存下来以便访问。
比如,Unix进程的环境包括硬件注册、核心堆栈、用户级堆栈等等。需要切换到这些环境的时候,再几千微秒中,这被认为是很长的时间,所以Unix进程是个重量级线程(heavyweight thread)。
在一些现代操作系统里核心,比如说Mach,多线程可以在同一地址空间中存在,它缩小了每个线程的必须存储的环境信息,减少了几百微秒的切换时间。这种核心级线程是中量级线程(middleweight threads)。
但所有的环境和线程操作都在用户级暴露的时候,每个程序都只需要小量的环境需要存储,这样任务切换可以减少到只有几十微秒的时间。因此用户级的线程被称为轻量级线程(lightweight threads)。