OS之进程和线程

1. 线程是程序执行流的最小单元。

一个标准的线程由线程ID,当前指令指针PC,寄存器集合和堆栈组成。

2. 通常意义上,一个进程由一个到多个线程组成,各个线程之间共享程序的的内存空间,包括代码段、数据段和堆等,以及一些进程级的资源,如打开文件和信号。

3. 使用多线程的原因有以下五个方面

  1. 某个操作可能会陷入长时间等待,等待的线程会进入睡眠状态而无法继续执行。多线程执行可以有效利用等待的时间。
  2. 某个操作会消耗大量的时间,如果只有一个线程,程序和用户之间的交互会中断,多线程可以让一个线程负责交互,另一个负责计算。
  3. 程序逻辑本身要求并发执行,如多端下载软件Bittorrent
  4. 多CPU或多核计算机本身具备同时执行多个线程的能力,单线程无法全面发挥计算机的全部优势。
  5. 相对于多进程应用,多线程在数据共享方面效率高很多。
原文地址:https://www.cnblogs.com/phillee/p/11707847.html