#!/usr/bin/env python#-*-coding:utf-8-*-ImportAsyncioImportdatetimeImport Time fromRandomImportRandint@asyncio.coroutinedeffactorial (number): F= 1 forIinchRange (2, number+1): Print("Asyncio.Task:Compute factorial (%s)"%(i))yield fromAsyncio.sleep (1) F*=IPrint("asyncio.task-factorial (%s) =%s"%(number, F)) @asyncio. CoroutinedefFibonacci (number): A, B= 0, 1 forIinchRange (number):Print("Asyncio.Task:Compute Fibonacci (%s)"%i)yield fromAsyncio.sleep (1) A, b= B, A +bPrint("Asyncio.task-fibonacci (%s) =%s"%(number, a)) @asyncio. CoroutinedefBinomialcoeff (n, k): Result= 1 forIinchRange (1, k+1): Result= result * (n-i+1)/IPrint("Asyncio.Task:Compute Binomialcoeff (%s)"%(i))yield fromAsyncio.sleep (1) Print("Asyncio.task-binomialcoeff (%s,%s) =%s"%(N,k,result))if __name__=="__main__": Tasks= [Asyncio. Task (Factorial (10) ), Asyncio. Task (Fibonacci (10) ), Asyncio. Task (Binomialcoeff (20, 10)] Loop=Asyncio.get_event_loop () Loop.run_until_complete (asyncio.wait (Tasks)) Loop.close ()
Task management in Asyncio