Coroutines ========== Coroutines Examples --------------------- Parallel execution of tasks ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Example :: import uvio from datetime import datetime @uvio.sync async def display_date(): end_time = datetime.now() + timedelta(seconds=5) while True: print(datetime.now()) if (datetime.now() + timedelta(seconds=5)) >= end_time: break await uvio.sleep(1) display_date() Parallel execution of tasks ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Example executing 3 tasks (A, B, C) in parallel:: import uvio async def factorial(name, number): f = 1 for i in range(2, number+1): print("Task %s: Compute factorial(%s)..." % (name, i)) await uvio.sleep(1) f *= i print("Task %s: factorial(%s) = %s" % (name, number, f)) loop = uvio.get_default_loop() loop.next_tick(factorial("A", 2)) loop.next_tick(factorial("B", 3)) loop.next_tick(factorial("C", 4)) loop.run() loop.close()