欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

详解Python的多任务进程

时间:2022-11-26 10:22:37|栏目:Python代码|点击:

1.基本概念

定义 含义
并发: concurrency,同一时刻只能有一条指令执行,但是多个线程的对应的指令被快速轮换地执行
并行 parallel,同一时刻,有多条指令在多个处理器上同时执行,并行必须要依赖于多个处理器
阻塞 程序未得到所需计算资源时被挂起的状态
非阻塞 程序在等待某操作过程中,自身不被阻塞,可以继续处理其他的事情
同步 不同程序单元为了完成某个任务,在执行过程中需靠某种通信方式以协调一致,我们称这些程序单元是同步执行的
异步 为完成某个任务,不同程序单元之间过程中无需通信协调,也能完成任务的方式,不相关的程序单元之间可以是异步的

2.线程和进程比较

名称 含义 应用场景
多线程 系统进行运算调度的最小单位 IO密集型(磁盘IO网络IO数据库IO等,譬如爬虫,网站开发等)
多进程 系统进行资源分配的最小单位 CPU密集型(大数据分析,机器学习等)
多协程 程序员级别的调度 高并发的场景

3.协程和线程的比较

多线程:

  • 多个线程切换需要频繁的加锁解锁,
  • 需要保存或者恢复cpu上下文,
  • 每个线程还需要有缓存cache等数据

多协程:

  • 协程的切换是在单线程里实现任务的切换
  • 且协程拥有自己的寄存器上下文和栈,无需线程上下文切换的开销
  • 无需原子操作锁定及同步的开销

总结

上一篇:ubuntu安装jupyter并设置远程访问的实现

栏    目:Python代码

下一篇:python使用imap-tools模块下载邮件附件的示例

本文标题:详解Python的多任务进程

本文地址:http://www.codeinn.net/misctech/219970.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有