当前位置: 首页 > news >正文

python3 异步模块asyncio

yield方法引入,

这里存在的问题是,如果你想创建从0到1,000,000这样一个很大的序列,你不得不创建能容纳1,000,000个整数的列表。

但是当加入了生成器之后,你可以不用创建完整的序列,你只需要能够每次保存一个整数的内存即可。

import asyncio

@asyncio.coroutine
def countdown(number, n):
    while n > 0:
        yield from asyncio.sleep(1)
        print("T-minus", n, "({})".format(number))
        n -= 1
        if n == 10 and number=="A":
            raise ValueError

loop = asyncio.get_event_loop()

tasks = [
    asyncio.ensure_future(countdown("A", 20)),
    asyncio.ensure_future(countdown("B", 33)),
]
loop.run_until_complete(asyncio.wait(tasks))

loop.close()

 

 

看代码

import asyncio

@asyncio.coroutine
def countdown(number, n):
    while n > 0:
        yield from asyncio.sleep(1)
        print("T-minus", n, "({})".format(number))
        n -= 1
        if n == 10 and number=="A":
            raise ValueError

loop = asyncio.get_event_loop()

tasks = [
    asyncio.ensure_future(countdown("A", 20)),
    asyncio.ensure_future(countdown("B", 33)),
]
loop.run_until_complete(asyncio.wait(tasks))

loop.close()

 

原理讲的特别好

http://python.jobbole.com/86481/

相关文章:

  • 紫书 习题 11-10 UVa 12264 (二分答案+最大流)
  • 大数据经典学习路线(及供参考)
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • MySQL数据库运维之数据恢复
  • 函数防抖和函数节流
  • 持续开放,腾讯TARS、TSeer助力Linux建设开源社区
  • 探索 JS 中的模块化
  • 跟我一起学docker(四)--容器的基本操作
  • Ubuntu安装jdk
  • python全栈开发 * 19 面向对象 知识点汇总 * 180701
  • replace 使用正则
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • 三菱加工中心CNC编程G代码讲解
  • MongoDB可视化工具--Robo 3T 使用教程
  • Php数据库
  • JS 中的深拷贝与浅拷贝
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • eclipse(luna)创建web工程
  • js对象的深浅拷贝
  • LintCode 31. partitionArray 数组划分
  • React中的“虫洞”——Context
  • tensorflow学习笔记3——MNIST应用篇
  • webpack+react项目初体验——记录我的webpack环境配置
  • 阿里云应用高可用服务公测发布
  • 简单基于spring的redis配置(单机和集群模式)
  • 聚簇索引和非聚簇索引
  • 设计模式走一遍---观察者模式
  • 什么软件可以剪辑音乐?
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • (42)STM32——LCD显示屏实验笔记
  • (Java数据结构)ArrayList
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (二十四)Flask之flask-session组件
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (原)Matlab的svmtrain和svmclassify
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)C#调用WebService 基础
  • ./和../以及/和~之间的区别
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET CLR基本术语
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • ??在JSP中,java和JavaScript如何交互?
  • ?php echo ?,?php echo Hello world!;?
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题
  • [\u4e00-\u9fa5] //匹配中文字符
  • [ACTF2020 新生赛]Upload 1
  • [BUG]Datax写入数据到psql报不能序列化特殊字符
  • [BUUCTF NewStarCTF 2023 公开赛道] week3 crypto/pwn
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)