操作系统线程介绍

线程介绍

什么是线程:

线程是操作系统能内够进行运算、执行的最小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

总结:线程是进程的一部分,是进程内负责执行的单位,进程是由资源单位(内存资源、信号处理方案、文件表)+执行单位组成,默认情况下进程内只有一个线程,但可以有多个。

线程的发展简史:

60年代,在操作系统中能拥有资源和独立运行的基本单位是进程。

随着计算机技术的发展,进程出现了很多弊端:

一是由于进程是资源拥有者,创建、撤消与切换存在较大的时间开销,因此需要引入轻型进程;

二是由于对称多处理机出现,可以满足多个运行单位,而多个进程并行开销过大。

因此在80年代,出现了能独立运行的基本单位——线程(Threads)。

线程的调度策略:

线程是独立调度和分派的基本单位,有三种不同的调试策略:

1、线程可以为操作系统内核调度的内核线程,如Win32线程;

2、由用户进行自行调度的用户线程,如Linux、UNIX平台的POSIX Thread;

3、由内核与用户进程进行混合调度,如Windows 7的线程。

多线程适用的范围:

一个进程可以有很多线程,每条线程并行执行不同的任务。 ​ 在多核或多CPU,或支持Hyper-threading的CPU上使用多线程程序设计的好处是显而易见,即提高了程序的执行吞吐率。

在单CPU单核的计算机上,使用多线程技术,可以把进程中负责I/O处理、人机交互而常被阻塞的部分与密集计算的部分分开来执行,原因就是线程占用的资源少,被阻塞时不浪费资源。

线程的特点:
轻型实体:

线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。线程的实体包括用于指示被执行指令序列的程序计数器、局部变量、状态参数和返回地址。

线程是动态概念,它的动态特性由线程控制块TCB(Thread Control Block)描述,包括以下信息:

1、线程状态

2、当线程不运行时,被保存的现场资源。

3、一组执行堆栈

4、存放每个线程的局部变量主存区

5、访问同一个进程中的主存和其它资源

独立调度和分派的基本单位:

在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小(在同一进程中的)。

可并发执行:

在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行,充分利用和发挥了CPU与外围设备并行工作的能力。

共享进程资源:

在同一进程中的各个线程,都可以访问该进程的用户空间,此外,还可以访问进程所拥有的已打开文件、定时器、信号量等,线程可以共享该进程所拥有的资源。所以线程之间互相通信不必调用内核。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值