并发编程

目录:

 

 

 

 

基础概念:

一、进程、程序和线程

程序:程序只是一堆代码而已

进程:指的是程序的运行过程,是对正在运行的程序的一个抽象。进程是一个资源单位

线程:每个进程都有一个地址空间,而且默认就有一个控制线程。线程才是cpu上的执行单位。

二、并行与并发

无论是并行还是并发,在用户看来都是‘同时‘运行的,不管是进程还是线程,都只是一个任务而已,真是干活的是cpu,cpu来做这些任务,而一个cpu同一时刻只能执行一个任务

并发:是伪并行,即看起来是同时运行。单个cpu+多道技术就可以实现并发,(并行也属于并发)

并行:同时运行,只有具备多个cpu才能实现并行。

三、同步与异步

同步:发出一个功能调用,在没有得到结果之前,该调用就不会返回。

异步:异步功能调用发出后,不会等结果,而是继续往下执行,当该异步功能完成后,通过状态、通知或回调函数来通知调用者。

四、阻塞和非阻塞

阻塞:调用结果返回之前,当前进程会被挂起(如遇到IO操作)。函数只有在得到结果之后才会将阻塞的线程激活。

非阻塞:在不能立即得到结果之前也会立刻返回,同时该函数不会阻塞当前线程。(就绪态,运行态)

异步非阻塞效率更高

 

 

多进程

一、进程的3种状态

   运行、就绪、阻塞

二、multiprocessing模块介绍

 

 

 

并发编程

上一篇:Visual Studio 2022 预览版3 最新功能解说


下一篇:Windows 应用程序结构