码迷,mamicode.com
首页 > 其他好文 > 详细

gevent常用用法

时间:2019-12-17 18:09:57      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:run   任务   join   style   多进程   main   int   range   sleep   

# 1:单核上的协程
import asyncio
import time

async def test(time):
await asyncio.sleep(time)


async def main():
start_time = time.time()
# 创建任务
tasks = [asyncio.create_task(test(1)) for _ in range(10000)]
# 将任务丢到执行队列里面去
[await t for t in tasks]
print(time.time() - start_time)

if __name__ == "__main__":
asyncio.run(main())


# 多核上的协程:(多进程 + 协程)
from multiprocessing import Pool
import asyncio
import time


async def test1(time):
await asyncio.sleep(time)


async def main1(num):
start_time = time.time()
tasks = [asyncio.create_task(test1(1)) for _ in range(num)]
[await t for t in tasks]
print(time.time() - start_time)


def run(num):
asyncio.run(main1(num))


if __name__ == "__main__":
p = Pool()
for i in range(4):
p.apply_async(run, args=(2500,))
p.close()
p.join()
 

gevent常用用法

标签:run   任务   join   style   多进程   main   int   range   sleep   

原文地址:https://www.cnblogs.com/zhouzetian/p/12055578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!