From e268fd454386ceda065f859f599961ef66289d3d Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Fri, 3 Nov 2017 00:45:49 +0200 Subject: [PATCH] uasyncio.synchro: Add Lock example. --- uasyncio.synchro/example_lock.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 uasyncio.synchro/example_lock.py 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()