Linux线程机制的分类和特性

来源:互联网 发布:美国ip衍生品数据 编辑:程序博客网 时间:2024/06/08 19:32

(1)用户级线程

主要解决的是上下文切换的问题,它的调度算法和调度过程会全部由用户自行选择解决,在运行时不需要特定的内核支持。操作系统往往会提供一个用户空间的线程库,该用户程序库提供了线程的创建、调度和撤销等功能,而内核仍然对进程进行管理。如果一个进程中的某一个线程调用了一个阻塞的系统调用函数,那么该进程包括该进程中的线程也同时被阻塞。这种用户级线程的主要缺点是在一个进程中的多个线程的调度中无法发挥多处理器的优势。

(2)轻量级的进程

轻量进程是内核支持的用户线程,是内核线程的一种抽象对象。每个线程拥有一个或多个轻量级线程,而每个轻量级线程分别被绑定在一个内核线程上。

(3)内核线程

这个线程不允许不同进程中的线程按照同一相对优先调度方法进行调度,这样就可以发挥多处理器并发优势。


进程是系统中程序执行和资源分配的基本单位。

每个进程都拥有自己的数据段、代码段和堆栈段。


线程和进程的差别

线程是指进程内的一个执行单元,也就是进程内的可调度实体。

与进程的区别

1、调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

2、并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

3、拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但是可以访问吕属于进程的资源

4系统开销:在创建或撤销进程是,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤销线程的开销

0 0
原创粉丝点击