一、asyncio
下面通过举例来对比同步代码和异步代码编写方面的差异,其次看下两者性能上的差距,我们使用sleep(1)模拟耗时1秒的io操作。
同步代码:
import time
def hello():
time.sleep(1)
def run(): for i in range(5):
hello() print(‘Hello World:%s’ % time.time())
if name == ‘main‘:
run()
输出:(间隔差不多是1s)
Hello World:1527595175.4728756
Hello World:1527595176.473001
Hello World:1527595177.473494
Hello World:1527595178.4739306
Hello World:1527595179.474482
异步代码:
import time
import asyncio # 定义异步函数 async def hello():
asyncio.sleep(1) print(‘Hello World:%s’ % time.time()) def run(): for i in range(5):
loop.run_until_complete(hello())
loop = asyncio.get_event_loop() if name ==’main‘:
run()
输出:
Hello World:1527595104.8338501 Hello World:1527595104.8338501 Hello World:1527595104.8338501 Hello World:1527595104.8338501 Hello World:1527595104.8338501