diff --git a/uasyncio.synchro/example_lock.py b/uasyncio.synchro/example_lock.py new file mode 100644 index 00000000..863f9338 --- /dev/null +++ b/uasyncio.synchro/example_lock.py @@ -0,0 +1,27 @@ +try: + import uasyncio.core as asyncio + from uasyncio.synchro import Lock +except ImportError: + import asyncio + from asyncio import Lock + + +def task(i, lock): + print(lock) + while 1: + yield from lock.acquire() + print("Acquired lock in task", i) + yield from asyncio.sleep(0.5) +# yield lock.release() + lock.release() + + +loop = asyncio.get_event_loop() + +lock = Lock() + +loop.create_task(task(1, lock)) +loop.create_task(task(2, lock)) +loop.create_task(task(3, lock)) + +loop.run_forever()