Skip to content

Instantly share code, notes, and snippets.

@csakis
Forked from miguelgrinberg/asyncio-async-await.py
Created March 11, 2019 22:34
Show Gist options
  • Save csakis/3722a26bc0e72cba4c27433d78446260 to your computer and use it in GitHub Desktop.
Save csakis/3722a26bc0e72cba4c27433d78446260 to your computer and use it in GitHub Desktop.
async examples
import asyncio
loop = asyncio.get_event_loop()
async def hello():
await asyncio.sleep(3)
print('Hello!')
if __name__ == '__main__':
loop.run_until_complete(hello())
import asyncio
loop = asyncio.get_event_loop()
def hello():
loop.call_later(3, print_hello)
def print_hello():
print('Hello!')
loop.stop()
if __name__ == '__main__':
loop.call_soon(hello)
loop.run_forever()
import asyncio
loop = asyncio.get_event_loop()
@asyncio.coroutine
def hello():
yield from asyncio.sleep(3)
print('Hello!')
if __name__ == '__main__':
loop.run_until_complete(hello())
from eventlet import sleep
def hello():
sleep(3)
print('Hello!')
if __name__ == '__main__':
hello()
from gevent import sleep
def hello():
sleep(3)
print('Hello!')
if __name__ == '__main__':
hello()
from time import sleep
def hello():
sleep(3)
print('Hello!')
if __name__ == '__main__':
hello()
from twisted.internet import reactor
def hello():
reactor.callLater(3, print_hello)
def print_hello():
print('Hello!')
reactor.stop()
if __name__ == '__main__':
reactor.callWhenRunning(hello)
reactor.run()
from twisted.internet import reactor
from twisted.internet.defer import inlineCallbacks, Deferred
def sleep(secs):
d = Deferred()
reactor.callLater(secs, d.callback, None)
return d
@inlineCallbacks
def hello():
yield sleep(3)
print('Hello!')
reactor.stop()
if __name__ == '__main__':
reactor.callWhenRunning(hello)
reactor.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment