多线程
基本概念
程序概念
一些列代码指令的集合统称 ,应用,软件等等 都属于程序。
程序运行必须依托于进程而存在,进程负责分配资源,依赖线程来运行。
单核心配置
运行 - msconfig - 引导 - 高级选项 - 处理器个数为 1
进程定义
进行中应用程序中属于资源分配的基本单位 。
应用程序执行的实例,拥有独立的内存空间和CPU资源。
线程定义
线程是包含在进程之中的, 一个进程至少有一个线程,否则将无法运行,线程是CPU调度运算的基本单位。
线程是CPU调度和分派的基本单位,应用程序运算是最小单位。
多线程
-
一个进程中同时运行了多个线程,用来完成不同的工作,则称之为"多线程"。
-
单核CPU下,多个线程交替占用CPU资源,而非真正的并行执行。
线程开辟和线程执行
线程不是越多越好,要结合实际的硬件环境来决定。
在单核心CPU下,多个线程是轮流交替执行的,以windows操作系统为例,多个线程随机轮流交替执行,每个线程最多执行20ms,然后继续切换下一个线程,而非并行执行,因为切换的频率非常快,所以我们感知不到这个过程,宏观上是同时执行的,实际上,是轮流交替执行的。