import time
import asyncio
from threading import Thread
async def f():
for i in range(4, 0, -1):
print(i)
await asyncio.sleep(1)
else:
print('DONE')
def async_from_sync(coro):
def do_async():
async def inner():
await asyncio.create_task(coro())
asyncio.run(inner())
t = Thread(target=do_async)
t.start()
def main():
async_from_sync(f)
time.sleep(6) # че-то делаем
main()
aW1wb3J0IHRpbWUKaW1wb3J0IGFzeW5jaW8KZnJvbSB0aHJlYWRpbmcgaW1wb3J0IFRocmVhZAoKCmFzeW5jIGRlZiBmKCk6Cglmb3IgaSBpbiByYW5nZSg0LCAwLCAtMSk6CgkJcHJpbnQoaSkKCQlhd2FpdCBhc3luY2lvLnNsZWVwKDEpCgllbHNlOgoJCXByaW50KCdET05FJykKICAgICAgICAKCgpkZWYgYXN5bmNfZnJvbV9zeW5jKGNvcm8pOgoJZGVmIGRvX2FzeW5jKCk6CgkJYXN5bmMgZGVmIGlubmVyKCk6CgkJCWF3YWl0IGFzeW5jaW8uY3JlYXRlX3Rhc2soY29ybygpKQoJCWFzeW5jaW8ucnVuKGlubmVyKCkpCgl0ID0gVGhyZWFkKHRhcmdldD1kb19hc3luYykKCXQuc3RhcnQoKQogICAgCgpkZWYgbWFpbigpOgoJYXN5bmNfZnJvbV9zeW5jKGYpCgl0aW1lLnNsZWVwKDYpICAjINGH0LUt0YLQviDQtNC10LvQsNC10LwKCgkKbWFpbigp