进程池 迭代 生成器

0、进程池概念-优点-两种添加任务的方式
 提前准备好一定数量的进程
 优点
  提高响应用户需求的效率
  节约 大量的进程创建和销毁的系统开销
  自动对进程进行管理和维护

 工作进程-执行用户任务
 控制进程-接收任务 分配任务 维护工作进程

 添加任务的方式
  apply 添加任务并且阻塞等待任务完成
   return self.apply_async(func, args, kwds).get()

apply_async 添加任务并且不需要等待任务完成

1、迭代概念
 遍历

2、可迭代对象
 可以被迭代的对象

获取可迭代对象中迭代器
迭代器 = iter(可迭代对象)

通过迭代器获取下一个元素的值
下一个元素的值 = next(迭代器)

实现可迭代对象

类中实现 __iter__方法 ---------------> 提供迭代器

3、迭代器概念

实现迭代器
类中实现__iter__方法 迭代器是一种可迭代对象
类中实现__next__方法 提供下一个元素的值

0 1 1 2 3 5 8 13 21 34 .........

4、生成器概念
 两种:
  生成器表达式 [x for x in range(100)] -----> (x for x in range(100))
  生成器函数   含有yield关键字的函数

断点技能:
F7 步进 step into
F8 步过 step over

yield关键字作用
挂起当前代码 将yield后面的值 返回到调用生成器对象的地方 <return>
当再次唤醒生成器代码的时候 yield能够恢复代码 从上次运行的地方紧接着继续执行<接收额外数据 赋值给yield等号左边变量

唤醒生成器两种方式
next(生成器对象)
生成器对象.send(发送的数据)

  注意事项:
   第一次唤醒生成器的时候 必须要使用next(生成器)(因为生成器代码从最开运行的地方 没有yield接收额外数据)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值