操作系统基础知识【四】-线程

操作系统基础知识【一】 - CSDN博客

操作系统基础知识【二】-虚拟内存 - CSDN博客

操作系统基础知识【三】-进程 - CSDN博客

操作系统基础知识【四】-线程 - CSDN博客

操作系统基础知识【五】-死锁 - CSDN博客

操作系统基础知识【六】-文件系统 - CSDN博客


线程

 线程是进程当中的一条执行流程

线程特点

  • 实体之间可以并发地执行
  • 实体之间共享相同的地址空间
  • 一个进程中可以同时存在多个线程

缺点: 一个线程崩溃,所属进程的所有线程崩溃

线程与进程的比较
  •  进程是资源分配单位.线程是CPU调度单位:
  • 进程拥有一个完整的资源平台,而线程只独享必不可少的资源,如寄存器和栈;
  • 线程同样具有就绪、阻塞和执行三种基本状态,同样具有状态之间的转换关系;
  • 线程能减少并发执行的时间和空间开销:
  1. 线程的创建时间和终止时间比进程短
  2. 同一进程内的线程切换时间比进程短;
  3. 由于同一进程的各线程间共享内存和文件资源.可直接进行不通过内核的通信;

 进程三种实现方式

  • 用户线程
  • 内核线程
  • 轻量级线程

用户线程和内核线程对应关系

  • 一对多
  • 多对一
  • 多对多
用户线程

 在用户空间实现的线程机制,它不依赖于操作系统的内核,由一组用户级的线程库函数来完成线程的管理,包括进程的创建、终止、同步和调度等。

用户线程缺点: 

  • 阻塞性的系统调用如何实现?如果一个线程发起系统调用而阻塞,则整个进程在等待;
  • 当一个线程开始运行后,除非它主动地交出 CPU 的使用权,否则它所在的进程当中的其他线程将无法运行;
  • 由于时间片分配给进程,故与其它进程比,在多线程执行时,每个线程得到的时间片较少,执行会较慢。

 内核线程

是指在操作系统的内核当中实现的一种线程机制,由操作系统的内核来完成线程的创建、终止和管理。 

猜你喜欢

转载自blog.csdn.net/qq_19446965/article/details/81410273