28 lines
573 B
Python
28 lines
573 B
Python
"""
|
|
|
|
异步I/O操作 - async和await
|
|
|
|
Version: 0.1
|
|
Author: 骆昊
|
|
Date: 2018-03-21
|
|
|
|
"""
|
|
|
|
import asyncio
|
|
import threading
|
|
|
|
|
|
# 通过async修饰的函数不再是普通函数而是一个协程
|
|
# 注意async和await将在Python 3.7中作为关键字出现
|
|
async def hello():
|
|
print('%s: hello, world!' % threading.current_thread())
|
|
await asyncio.sleep(2)
|
|
print('%s: goodbye, world!' % threading.current_thread())
|
|
|
|
|
|
loop = asyncio.get_event_loop()
|
|
tasks = [hello(), hello()]
|
|
# 等待两个异步I/O操作执行结束
|
|
loop.run_until_complete(asyncio.wait(tasks))
|
|
loop.close()
|