Skip to content

Instantly share code, notes, and snippets.

@lkfo415579
Forked from pkazmierczak/async-python.py
Created August 1, 2017 03:29
Show Gist options
  • Save lkfo415579/4894854c0bd733762c8fc8f0e67fe046 to your computer and use it in GitHub Desktop.
Save lkfo415579/4894854c0bd733762c8fc8f0e67fe046 to your computer and use it in GitHub Desktop.
asyncio example (python3 & python2)
import asyncio
@asyncio.coroutine
def factorial(name, number):
f = 1
for i in range(2, number + 1):
print("Task %s: Compute factorial(%d)..." % (name, i))
yield from asyncio.sleep(1)
f *= i
print("Task %s completed! factorial(%d) is %d" % (name, number, f))
loop = asyncio.get_event_loop()
tasks = [
asyncio.async(factorial("A", 8)),
asyncio.async(factorial("B", 3)),
asyncio.async(factorial("C", 4))]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
import trollius as asyncio
from trollius import From
@asyncio.coroutine
def factorial(name, number):
f = 1
for i in range(2, number + 1):
print("Task %s: Compute factorial(%d)..." % (name, i))
yield From(asyncio.sleep(1))
f *= i
print("Task %s completed! factorial(%d) is %d" % (name, number, f))
loop = asyncio.get_event_loop()
tasks = [
asyncio.async(factorial("A", 8)),
asyncio.async(factorial("B", 3)),
asyncio.async(factorial("C", 4))]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
@lkfo415579
Copy link
Author

555555

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment