TOC

tornado: yield

from tornado import gen, ioloop

@gen.coroutine
def dosth():
    yield gen.sleep(1)
    print('slept for 1 second')

ioloop.IOLoop.current().run_sync(dosth)
from tornado import gen, ioloop

@gen.coroutine
def dosth():
    print('dosth 222222222222222222222')
    yield gen.sleep(1)
    print('slept for 1 second 22222222')
    print('dosth over 2222222222222222')

@gen.coroutine
def test():
    print('test 111111111111111')
    dosth()
    print('test over 1111111111')

print('start')
ioloop.IOLoop.current().run_sync(test)
print('over')

# start
# test 111111111111111
# dosth 222222222222222222222
# test over 1111111111
# over

# start
# test 111111111111111
# dosth 222222222222222222222
# test over 1111111111
# slept for 1 second 22222222
# dosth over 2222222222222222
# over