Python基础系列-异步IO-阿里云开发者社区

开发者社区> 开发与运维> 正文

Python基础系列-异步IO

简介: 版权声明:如需转载,请注明转载地址。 https://blog.csdn.net/oJohnny123/article/details/81980259 涉及到几个概念: 1、协程是为了解决高并发用的东西。
版权声明:如需转载,请注明转载地址。 https://blog.csdn.net/oJohnny123/article/details/81980259

涉及到几个概念:

1、协程是为了解决高并发用的东西。

2、协程的优点:无需线程上下文切换的开销,由此可以提高性能。无需原子操作锁定及同步的开销。也就是说,开销小。

 

asyncio就是一种异步IO 协程

import threading
import asyncio
import requests

# 把 generator 标记为 coroutine 类型,便于执行 EventLoop
@asyncio.coroutine
def func(port):
    result = requests.get('http://10.0.53.129:{0}'.format(port))
    print('Start %s! code: %s (%s)' % (port,result.status_code, threading.currentThread()))

# 获取 EventLoop
loop = asyncio.get_event_loop()
tasks = []
for i in range(8000,9000):
    tasks.append(func(i))

# 执行 coroutine
loop.run_until_complete(asyncio.wait(tasks))
loop.close()

 

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章