并发基本概念

it2023-01-24  57

先了解些并发的基本概念。

程序

​ 程序 是数据和指令的有序集合,本身无意义,就是一个静态的概念。 ​ 进程 是执行程序的一个运行过程,操作系统的资源分配,是动态概念。 ​ 线程 是程序执行过程中的确切操作的执行对象。

线程

启动一个程序就会启动一个进程(Process),

一个进程内包含1个到多个线程(Thread)(必有一个main线程,还可能有其他守护线程daemon),

main线程是主线程,程序的入口,用于执行整个程序。

一个线程内包含多个指令(线程是cpu的调度和执行单位),

cpu是接受线程,处理指令的地方,

一个cpu一次只能处理一个线程任务,

线程需要获取cpu时间片才能被cpu处理,

时间片很短,windows下约为15ms,


并发&并行

参照物为cpu

并发 指单个cpu同时处理多个线程任务,cpu在反复切换任务线程,实际还是串行化的;

并行 指多个cpu同时处理多个线程任务,cpu可以同时处理不同的任务,异步处理;


并发条件

第一,是否有共享变量 第二,是否多线程环境 第三,是否多个线程更新共享变量
一句话:多个线程操作同一个对象;

多线程执行

最新回复(0)