网站建设南京,中国机械网官网,网页设计主要用什么软件,低价网站建设顺德文章目录1 什么是线程1.1 为什么要引入线程#xff1a;1.2 线程定义1.3 线程与进程的比较1.4 线程的属性1.5 线程实现方式1.5.1 用户级线程#xff08;ULT#xff09;1.5.2 内核级线程#xff08;KLT,又称“内核支持的线程”#xff09;1.5.2 用户级线程、内核级线程二者组…
文章目录1 什么是线程1.1 为什么要引入线程1.2 线程定义1.3 线程与进程的比较1.4 线程的属性1.5 线程实现方式1.5.1 用户级线程ULT1.5.2 内核级线程KLT,又称“内核支持的线程”1.5.2 用户级线程、内核级线程二者组合1.6 多线程模型1.6.1 多对一模型1.6.2 一对一模型1.6.3 多对多模型1.7 线程小结1 什么是线程
1.1 为什么要引入线程
引入进程的目的为了更好的使多道程序并发执行提高系统资源利用率和系统吞吐量引入线程的目的:为了减少程序在并发执行时所付出的时空开销提高OS的并发性能。
1.2 线程定义 线程是“轻量级进程”是一个基本的CPU执行单元是程序执行的最小单元。线程是进程中的一个实体是系统独立调度和分派的基本单位。 1.3 线程与进程的比较
1. 进程是资源分配单位线程是CPU调度单位
2. 进程拥有一个完整的资源平台而线程只独享必不可少的资源如寄存器和栈
3. 线程同样具有就绪、阻塞和执行三种基本状态同样具有状态之间的转换关系
4. 线程能减少并发执行的时间和空间开销1线程创建时间比进程短2线程终止时间比进程短3同一进程内线程切换时间比进程短4由于同一进程的各线程之间共享内存和文件资源可直接进行不通过内核的通信一张图说明引入线程带来的变化 1.4 线程的属性 1.5 线程实现方式
1.5.1 用户级线程ULT 1.5.2 内核级线程KLT,又称“内核支持的线程” 1.5.2 用户级线程、内核级线程二者组合 在同时支持用户级线程和内核级线程的系统中可采用二者组合的方式将n个用户级线程映射到m 个内核级线程上nm 操作系统只“看得见”内核级线程因此只有内核级线程才是处理机分配的单位。举个例子在组合模型中该进程由两个内核级线程三个用户级线程在用户看来这个进程中 有三个线程。但即使该进程在一 个4核处理机的计算机上运行也 最多只能被分配到两个核最多只能有两个用户线程并行执行。 1.6 多线程模型
1.6.1 多对一模型 1.6.2 一对一模型 1.6.3 多对多模型 1.7 线程小结