什么是线程?线程相关的概念?
2014-12-14 13:45
183 查看
1,什么是线程?
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程 由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。
2,线程相关概述
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点 儿 在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线 程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致 使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态 。每一个程序都至少有一个线
程,若程序只有一个线程,那就是程序本身。
3,什么是多线程?
线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
4,线程的特点
在多线程OS中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小 开销的实体。线程具有以下特点:
1)轻型实体。
2)独立调度和分派的基本单位。
3)可并发执行。
4)共享进程资源。
5,了解线程我们首先要知道的
a,进程是资源分配的基本单位。所有与该进程有关的资源,都被记录在进程控制块PCB中。以表示该进程拥 有这些资源或正在使用它们。
b,进程也是抢占处理机的调度单位,它拥有一个完整的虚拟地址空间。当进程发生调度时,不同的进程拥有 不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。
c,与进程相对应,线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。
d,通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。
e,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度 的基本单位。
f,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并 发执行的程度,从而显著提高系统资源的利用率和吞吐量。
g,因而近年来推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视为现代操作系统 的一个重要指标
6,进程和线程的比较
a,进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
b,进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段 的辅助,以保证数据的一致性。
c,线程上下文切换比进程上下文切换要快得多。
d,在多线程OS中,进程不是一个可执行的实体。
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程 由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。
2,线程相关概述
线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点 儿 在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线 程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致 使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态 。每一个程序都至少有一个线
程,若程序只有一个线程,那就是程序本身。
3,什么是多线程?
线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
4,线程的特点
在多线程OS中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小 开销的实体。线程具有以下特点:
1)轻型实体。
2)独立调度和分派的基本单位。
3)可并发执行。
4)共享进程资源。
5,了解线程我们首先要知道的
a,进程是资源分配的基本单位。所有与该进程有关的资源,都被记录在进程控制块PCB中。以表示该进程拥 有这些资源或正在使用它们。
b,进程也是抢占处理机的调度单位,它拥有一个完整的虚拟地址空间。当进程发生调度时,不同的进程拥有 不同的虚拟地址空间,而同一进程内的不同线程共享同一地址空间。
c,与进程相对应,线程与资源分配无关,它属于某一个进程,并与进程内的其他线程一起共享进程的资源。
d,通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。
e,在引入线程的操作系统中,通常都是把进程作为分配资源的基本单位,而把线程作为独立运行和独立调度 的基本单位。
f,由于线程比进程更小,基本上不拥有系统资源,故对它的调度所付出的开销就会小得多,能更高效的提高系统内多个程序间并 发执行的程度,从而显著提高系统资源的利用率和吞吐量。
g,因而近年来推出的通用操作系统都引入了线程,以便进一步提高系统的并发性,并把它视为现代操作系统 的一个重要指标
6,进程和线程的比较
a,进程间相互独立,同一进程的各线程间共享。某进程内的线程在其它进程不可见。
b,进程间通信IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信——需要进程同步和互斥手段 的辅助,以保证数据的一致性。
c,线程上下文切换比进程上下文切换要快得多。
d,在多线程OS中,进程不是一个可执行的实体。
相关文章推荐
- Android单线程模型相关概念详解
- Android单线程模型相关概念详解
- Java 多线程(四)线程间的通信jdk1.5中Lock,Condition----各种锁的相关详细概念
- 线程,进程,线程同步,线程异步,相关概念学习——》总结
- Java 多线程(四)线程间的通信jdk1.5中Lock,Condition----各种锁的相关详细概念
- 什么是CCNA?(及相关概念)
- Android单线程模型相关概念详解
- 线程相关概念解读----应付相关考试
- Java 多线程 线程安全相关概念
- Qt中同一个线程里,QTimer的timeout()信号相关的槽未执行完,会发生什么?
- 二进制及相关概念是什么?
- Java线程同步管理的相关概念总结
- swift能干什么,不能干什么及相关概念
- 据库中事务、会话、线程这几个概念是什么关系
- 【线程呓语】与线程相关的一些概念
- Android单线程模型相关概念详解
- Android单线程模型相关概念详解
- Java千百问_01基本概念(006)_线程和进程有什么区别
- 线程的相关概念--Java基础065
- 【搞懂Java多线程之一】多线程相关概念,线程生命周期以及线程创建方法