浅谈线程基本概念

浅谈线程基本概念

站在操作系统管理角度,理解什么是线程

线程是不拥有独立资源空间的程序执行流的最小单位

站在进程地址空间角度,理解什么是线程

线程是进程中的实体,是进程内部的控制序列,和该进程内的其他线程共享地址空间和资源

站在执行流角度,理解什么是线程

线程是程序中一个单一的顺序控制流程,是程序执行流的最小单位

如何理解线程是进程内部的一个执行分支

  • 原因

    1. 60年代,在OS中能拥有资源和独立运行的基本单位是进程,然而随着计算机技术的发展,进程出现了很多弊端,由于进程是资源拥有者,创建、撤消与切换存在较大的时空开销,因此需要引入轻型进程;

    2. 对称多处理机(SMP)出现,可以满足多个运行单位,而多个进程并行开销过大,因此在80年代,出现了能独立运行的基本单位——线程(Threads)

  • 进程就是一棵树,我们的线程就是其中的一个个分支,没有了线程,进程并不能执行任何操作。我们进程的具体操作最后还是分配给每一个线程来执行。相对于线程,我们甚至可以把进程理解为线程的一个容器,它代表线程来接受分配到的资源,为线程提供执行代码,所以进程是资源分配的基本单位。

进程与线程有什么区别

Linux下线程有什么特点

  • 线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。

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

  • 多个线程可并发执行(同个或不同进程中均可以)

  • 多个线程共享同个进程的资源和地址空间。

    扫描二维码关注公众号,回复: 2996308 查看本文章
  • 线程是动态概念,它的动态特性由线程控制块TCB(线程状态、当线程不运行时被保存的现场资源、一组执行堆栈、存放每个线程的局部变量主存区、访问同一个进程中的主存和其它资源)描述。

猜你喜欢

转载自blog.csdn.net/wsq119/article/details/82154351