美文网首页
多进程、多线程、协程、并发并行

多进程、多线程、协程、并发并行

作者: Manchangdx | 来源:发表于2018-11-13 20:15 被阅读0次

进程:每个人都领一套工具(环境,上下文)去干活,人多(核多)就可以做得更快。

线程:一个人领一套工具后干活,但要干很多工作,先干哪个要听老板的(系统),遇见要等待的事情,老板会叫你先干别的。但老板不懂你干的活,比如你挖一个坑放一个萝卜盖土,结果他让你挖坑,盖土,放萝卜。这时候就要用锁告诉老板这个必须先放了萝卜才能埋土。

协程:一个人领一套工具后干活,但要干很多工作,先干哪个要听自己的,同样遇见要等待的事情,你会自主地先干别的。对于老板来说,协程内的工作属于一个包的事,他会下命令让你吃饭,但不会规定先吃哪个菜。正是因为省去了老板这一工作量,才大大提高了公司的效率,毕竟是占用领导的工作量,先洗澡还先吃饭也要问领导不得慢成啥。

你吃饭吃到一半,电话来了
你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行

你吃饭吃到一半,电话来了
你停了下来接了电话,接完后继续吃饭,这说明你支持并发

你吃饭吃到一半,电话来了
你一边打电话一边吃饭,这说明你支持并行

并发关乎结构,并行关乎执行

线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位

线程是进程中代码的不同执行路线

进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间 (包括代码段、数据集、堆等) 及一些进程级的资源 (如打开文件和信号),某进程内的线程在其它进程不可见

调度和切换:线程上下文切换比进程上下文切换要快得多

驹说码事 深入理解Python异步编程(上)
伯乐在线 Python 3.5 协程究竟是个啥
伯乐在线 以操作系统的角度述说线程与进程
知乎 谈谈 Python 协程技术的演进
cenalulu Python 的 GIL 是什么鬼,多线程性能究竟如何
segmentfault 一起了解什么是高并发
简书 Python yield from 用法详解
Tony Bai 也谈并发与并行

相关文章

  • python网络爬虫:多任务-进程、线程

    一 、实现多任务的方式 多线程多进程协程多线程+多进程 并行,并发 并行:同时发起同时执行,(4核,4个任务)并发...

  • Gevent高并发网络库精解

    进程 线程 协程 异步 并发编程(不是并行)目前有四种方式:多进程、多线程、协程和异步。 多进程编程在python...

  • Gevent

    前述 进程 线程 协程 异步 并发编程(不是并行)目前有四种方式:多进程、多线程、协程和异步。 多进程编程在pyt...

  • Gevent简明教程

    前述 进程 线程 协程 异步 并发编程(不是并行)目前有四种方式:多进程、多线程、协程和异步。 多进程编程在pyt...

  • 【多进程、多线程、协程+异步】对比测试

    目录 概念介绍 测试环境 开始测试 测试【单进程单线程】 测试【多进程 并行】 测试【多线程 并发】 测试【协程 ...

  • Python多进程(Multiprocessing)的简单使用

    Python由于GIL的存在,多线程(Thread)、协程(Asyncio)可以实现并发,并行则依赖多进程(Mul...

  • 并发编程之Concurrent.futures vs Multi

    并发编程是刚需,尤其是在多I/O操作时,多线程,协程,多进程三路英雄各显神通。多线程,协程属于并发操作,多进程属于...

  • 多任务

    实现多任务的方式 多线程多进程协程多线程+多进程 并行:同时发起,同时执行(4核4个任务)并发:同时发起,单个执行...

  • 索引 - Python

    文集主页 Python 解释器和三种栈多进程、多线程、协程、并发并行Python I/O 操作(一)Python ...

  • 网络爬虫:多任务-进程、线程

    实现多任务的方式 多线程多进程协程多线程+多进程 为什么你能够实现多任务? 并行:同时发起,同时执行,多进程,进程...

网友评论

      本文标题:多进程、多线程、协程、并发并行

      本文链接:https://www.haomeiwen.com/subject/byfrfqtx.html