python asyncio coroutine协程的并发 task(并行编程 28)

import asyncio
@asyncio.coroutine
def fa(num):
f=1
for i in range(2,num+1):
print("Asyncio.Task:Computer factories({})".format(i))
yield from asyncio.sleep(1)
f=i
print("Asyncio.Task - factorial({}) ={}".format(num,f))
@asyncio.coroutine
def fi(num):
a,b=0,1
for i in range(2, num + 1):
print("Asyncio.Task:Computer fibonacci({})".format(i))
yield from asyncio.sleep(1)
a,b=b,a+b
print("Asyncio.Task - fibonacci({}) ={}".format(num, a))
@asyncio.coroutine
def bi(n,k):
result=1
for i in range(1,k+1):
result=result
(n-i+1)/i
print("Asyncio.Task:Computer binomialcoeff({})".format(i))
yield from asyncio.sleep(1)
print("Asyncio.Task - binomialcoeff({},{}) ={}".format(n,k,result))
if name=="main":
tasks=[asyncio.Task(fa(10)),asyncio.Task(fi(10)),asyncio.Task(bi(20,10))]
loop=asyncio.get_event_loop()
loop.run_until_complete(asyncio.wait(tasks))
loop.close()

asyncio.Task()

loop.run_until_complete(asyncio.wait(tasks))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文:http://www.jianshu.com/p/4e048726b613 引言 随着node.js的盛行,...
    jacke121阅读 2,194评论 1 3
  • 1 Asyncioloop = get_event_loop(): 得到当前上下文的事件循环。loop.call_...
    SkTj阅读 1,144评论 0 0
  • https://www.cnblogs.com/shenh/p/9090586.html 前言:python由于G...
    SkTj阅读 3,082评论 0 0
  • 大清早爸爸把我和姐姐叫出被窝让我们出去跑步。我和姐姐和爸爸一起去后山跑步。我们跑着跑着看到了,一颗杏树我们摘了两颗...
    bdbdf0f481cc阅读 55评论 0 1
  • “我不知道我是谁,你知道吗?”“我不知道我是不是人类,你知道吗?”一位小学一年级的女孩写的这两句话,让我感到十分惊...
    妙所阅读 331评论 0 11