分类: 第十一节:并发编程

8 篇文章

thumbnail
第一篇:背景知识
背景知识 一、开篇介绍 顾名思义,进程即正在执行的一个过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。 所以想要真正了解进程,必须事先了解操作系统 二、为什么要有操作系统 现代的计算机系统主要是由一个或者多个处…
thumbnail
第二篇:多进程理论
多进程(理论) 一、什么是进程 进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。 举例(单核+多道,实现多个进程的并发执行): egon在一个时间段内有很多任务要做:python备课的任务,写书的任务,交女朋友的任务,王者荣耀上分的任务,   但egon同一时刻只能做一个任务(cpu同一时间只能干一个活),如何才能玩出多个任务并发…
thumbnail
第三篇:多进程操作
多进程(实操) 一、multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在python中大部分情况需要使用多进程。Python提供了multiprocessing。 multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比…
thumbnail
第四篇:多线程理论
多线程(理论) 一、什么是线程 在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程 车间负责把资源整合到一起,是一个资源单位,而一个车间内至少有一个流水线 流水线的工作需要电源,电源就相当于cpu 所以,*进程只是用来把资源集中到一起(…
thumbnail
第五篇:多线程操作
多线程(实操) 一、threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 *官网链接*:https://docs.python.org/3/library/threading.html?highlight=threading# 二、开启线程的两种方式 方式…
thumbnail
第六篇:协程
协程 一、开篇介绍 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态 CPU正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过长或有一个优先级更高的程序替代了它。 …
thumbnail
第七篇:IO模型
IO模型 一、前序知识回顾 为了更好地了解IO模型,我们需要事先回顾下:同步、异步、阻塞、非阻塞。 1、同步 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回。按照这个定义,其实绝大多数函数都是同步调用。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。 # 举例: # 1、mult…
thumbnail
第八篇:异步编程
异步编程 基于 async 和 await 关键字的协程可以实现异步编程,这也是目前 Python 异步相关的主流技术。在这里我们主要介绍一下实现异步的模块:asyncio 模块。 一、asyncio 模块 asyncio 模块是 Python 中实现异步的一个模块,该模块在 Python3.4 的时候发布,async 和 await 关键字在 P…

You cannot copy content of this page