import asyncio
from threading import Thread
import time
now = lambda: time.time()
print('start',now())
def start_loop(loop):
asyncio.set_event_loop(loop)
loop.run_forever()
async def do_some_work(x):
print('Waiting {}'.format(x))
await asyncio.sleep(x)
print('Done after {}s'.format(x))
print(x,now())
return x
async def more_work(x):
print('More work {}'.format(x))
# time.sleep(x)
await asyncio.sleep(x)
print('Finished more work {}'.format(x))
print(x,now())
start = now()
new_loop = asyncio.new_event_loop()
t = Thread(target=start_loop, args=(new_loop,))
t.start()
i=1
while i<2:
a=asyncio.run_coroutine_threadsafe(do_some_work(i), new_loop)
i+=1
# print('result is:',a._state,a.result())