Python学习笔记【week04day5】进程(同步,异步),进程锁,多进程+协程

进程的生命周期:

当操作系统要完成某个任务时,它会创建一个进程。当进程完成任务之后,系统就会撤销这个进程,收回它所占用的资源。从创建到撤销的时间段就是进程的生命期

进程之间存在并发性:
在一个系统中,同时会存在多个进程。他们轮流占用CPU和各种资源

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

创建进程

方法一:使用multiprocessing.Process
在这里插入图片描述
方法二:通过继承Process实现自定义进程
在这里插入图片描述

多进程(同步,异步)

在这里插入图片描述

进程锁

import multiprocessing
lock = multiprocessing.Lock()
方式1:.acquire() .release()
方式2: with lock:
在这里插入图片描述

信号量控制多进程的最大并发

在这里插入图片描述

协程

协程,又称微线程,纤程。

协程与线程的差异:
在这里插入图片描述

协程的创建(4种方式)

方式1:协程简单的实现(yield关键字) 
    与生成器的方式类似
在这里插入图片描述

方式2:使用greenlet来实现协程
在这里插入图片描述
方式3:gevent+sleep
会将cpu的执行权分配给未睡眠的协程
在这里插入图片描述
方式4:使用gevent与monkey实现协程
在这里插入图片描述

多进程+协程

在这里插入图片描述

小结

进程、线程、协程只要有jion函数就表示 “设置阻塞”(叫主线程“等等我”):“完成一个再执行下一个”,确保CPU在高频切换交替执行任务的时候,能顺利完成任务。

“进程”跟CPU有关,蛋核CPU一次只能处理一个进程,在单CPU下的多进程,是主进程中创建的多个子进程,通过CPU高频切换进行处理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值