线程的基本概念
2019-03-29 13:27
155 查看
概念:
线程是进程内部的一条执行序列(执行流:一组有序的执行流程),一个进程可以有多个线程,至少有一个线程,就是main函数所代表的执行序列-------主线程。线程库创建线程(由一个函数来执行序列)–函数线程;可以说线程是轻量级的进程。
进程和线程的区别:
1、进程是资源分配的最小单位,线程是CPU调度的最小单位 CPU执行的最小的单位是指令
2、一个进程可以有多条线程,但一个线程只能属于一个进程,进程是一个独立的个体;
3、同一个进程中的线程之间的切换要比进程间切换效率要高。
线程的实现的方式:
1、用户级线程
(1)内核实现简单,但是用户程序相对比较复杂;
(2)一条线程阻塞,会造成这个进程阻塞,无法切换到另外的线程执行;
(3)线程的切换效率较高,线程切换不需要陷入内核;
用户态到内核态是线程数是m->1
操作系统内核不支持多线程,线程的实现:创建、调度、管理、销毁必须由用户程序自己;一个进程里有多条线程(多个TCB),但内核中只有一条进程,维护一个PCB;
2、内核级线程
(1)用户程序简单
(2)一条线程阻塞,内核可以立马切换到另一条线程执行
(3)线程切换的效率相对用户级线程较低,每次切换都必须要陷入内核,
用户态到内核态是线程数是m->m
线程的实现是由操作系统内核支持的,每一条线程在内核都有相应的TCB
3、混合级线程
包括内核级和用户级的有缺点
用户态到内核态是线程数是m->n
相关文章推荐
- 线程基本概念
- 线程的基本概念、线程的基本状态以及状态之间的关系
- 线程的基本概念,线程的基本状态?
- 线程的基本概念和调度策略
- POSIX多线程—线程基本概念
- 线程的基本概念及状态
- 进程、线程的基本概念和管理
- 多线程详解——线程基本概念
- 线程的基本概念
- 线程的基本概念、线程的基本状态以及状态之间的关系
- 线程中的一些基本概念
- 线程的基本概念、线程的基本状态及状态之间的关系
- MSDN中对进程和线程的一些基本概念的描述
- Java高并发和多线程系列 - 1. 线程基本概念
- C#中多线程自我折腾之一-进程,线程的基本概念
- Java 线程的基本概念 创建方法 和 基本操作
- 线程的基本概念和调度策略
- 线程的基本概念和操作
- java学习-------线程(一)线程基本概念
- 多线程13__线程基本概念