线程
天下维客,你可以修改的网络知识库
Template:CSTerm 执行绪,亦称为轻量级行程(LWP,lightweight processes),为CPU使用时一个基本单位。
线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现程序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。
在多中央处理器的系统里,不同线程可以同时在不同的中央处理器上运行,甚至当它们属于同一个进程时也是如此。大多数支持多处理器的操作系统都提供编程接口来让进程可以控制自己的线程与各处理器之间的关联度(affinity)。
内核线程
许多现代操作系统直接通过进程管理器支持时间分段(time slicing)和多处理器(multi-processor)线程。操作系统内核允许程序员通过系统接口命令控制线程。 这种线程的实现被叫作内核线程 (kernel thread) 或轻线程。
用户线程
程序可以通过记时器,信号,或其他方法去打断他们自己的运行, 从而实现一种不是很简单的时间分段。 这种线程的实现被叫作用户线程 (user space thread)。
线程的使用
一种常见的线程使用是: 当一个线程负责图形界面的实现, 另一个线程负责幕后的复杂运算。 这样应用程序可以更快的回应用户的命令。
线程编程常见的问题
数据争夺(data racing)
死锁(deadlock)
活锁 (livelock)
饥饿 (starvation)
这是一篇还未完成的小作品。欢迎您积极帮助天下维客编辑扩充其内容


