您的位置:首页 > 其它

线程的基本概念

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: