详解Python的多任务进程
作者:小Pawn爷 发布时间:2021-08-20 19:12:48
标签:Python,多任务,进程
1.基本概念
定义 | 含义 |
---|---|
并发: | concurrency,同一时刻只能有一条指令执行,但是多个线程的对应的指令被快速轮换地执行 |
并行 | parallel,同一时刻,有多条指令在多个处理器上同时执行,并行必须要依赖于多个处理器 |
阻塞 | 程序未得到所需计算资源时被挂起的状态 |
非阻塞 | 程序在等待某操作过程中,自身不被阻塞,可以继续处理其他的事情 |
同步 | 不同程序单元为了完成某个任务,在执行过程中需靠某种通信方式以协调一致,我们称这些程序单元是同步执行的 |
异步 | 为完成某个任务,不同程序单元之间过程中无需通信协调,也能完成任务的方式,不相关的程序单元之间可以是异步的 |
2.线程和进程比较
名称 | 含义 | 应用场景 |
---|---|---|
多线程 | 系统进行运算调度的最小单位 | IO密集型(磁盘IO ,网络IO ,数据库IO 等,譬如爬虫,网站开发等) |
多进程 | 系统进行资源分配的最小单位 | CPU密集型(大数据分析,机器学习等) |
多协程 | 程序员级别的调度 | 高并发的场景 |
3.协程和线程的比较
多线程:
多个线程切换需要频繁的加锁解锁,
需要保存或者恢复cpu上下文,
每个线程还需要有缓存cache等数据
多协程:
协程的切换是在单线程里实现任务的切换
且协程拥有自己的寄存器上下文和栈,无需线程上下文切换的开销
无需原子操作锁定及同步的开销
来源:https://blog.csdn.net/weixin_44689630/article/details/122530757


猜你喜欢
- 准备必须环境:Python3开始先实现一个简单的版本,直接上代码:import urllib.requestimport urllib.er
- 前言:关于数据库范式,时常有听说过,一直没有详细去了解。一般数据库书籍或数据库课程会介绍范式相关内容,范式也经常出现在数据库考试题目中。不清
- MySQL数据库的备份有很多工具可以使用,这两天写了一个使用C#调用MYSQL的mysqldump命令完成MySQL数据库的备份与恢复的小工
- 引言第一次了解python的WSGI,可能描述的不太准确。本篇文章所依赖的python环境为:什么是WSGIWSGI也称之为web服务器通用
- 一、HACK以下两种方法几乎能解决现今所有HACK。1, !important 随着IE7对!important的支持, !imp
- 不知道有没有人碰到过这样恶心的问题:两张表连接查询并limit,SQL效率很高,但是加上order by以后,语句的执行时间变的巨长,效率巨
- vscode配置ruby开发环境vscode近年来发展迅速,几乎在3年之间就抢占了原来vim、sublime text的很多份额,犹记得在2
- 前言众所周知,jquery在我们日常开发中的使用频率非常高,与js相比,我们省去了冗长的获取元素的代码,不用考虑一些麻烦的兼容问题,更加方便
- Go被设计为一种后台语言,它通常也被用于后端程序中。服务端程序是GO语言最常见的软件产品。在这我要解决的问题是:如何干净利落地升级正在运行的
- 现在获取数组中最大最小值用的越来越多了,于是乎我编了个方法供大家使用。代码如下,若有问题可以与我联系,咱们一起学习一起进步。我们来看下示例一
- 前言前面的两篇文章对 Go 语言的基础语法和基本数据类型以及几个复合数据类型进行介绍,本文将对 Go 里面的指针和结构体进行介绍,也为后续文
- 如果你看过YUI的RAW源码,会发现很多跟javadoc语法类似的注释。据说(via)是使用JSDoc这个工具。但我探索了一遍,发现YUI多
- 本文实例讲述了Python3.5集合及其常见运算。分享给大家供大家参考,具体如下:1、集合的定义:集合是一个无序的、无重复的数据的数据组合。
- MySQL4.1以前版本服务器只能使用单一字符集,从MySQL4.1版本开始,不仅服务器能够使用多种字符集,而且在服务器、数据库、数据表、数
- 本文实例讲述了Python实现约瑟夫环问题的方法。分享给大家供大家参考,具体如下:题目:0,1,...,n-1这n个数字排成一个圆圈,从数字
- 本文研究的主要是PyQt5打开文件对话框QFileDialog的代码示例,具体如下。单个文件打开 QFileDialog.getOpenFi
- 一 前期说明:我运行项目的环境是nginx+php,存储代码用的是gitlab,python版本:3.6 django版本:2.2.1 my
- 微信小程序中使用地图(map)组件,通过点击(tap)获取经纬度,按照官方的回应,暂时是没法做到的,从地图组件API多有残缺判断,怀疑是个实
- 继续pygame实现俄罗斯方块游戏(AI篇1)的代码更新一、消除后才做评价上一篇我们是对方块落下的位置和落下后出来的空洞进行了评价,但是这些
- windows10:1,先要pip安装pydotplus和graphviz:pip install pydotpluspip install