uasyncio.synchro: Add Lock example.

pull/227/head
Paul Sokolovsky 2017-11-03 00:45:49 +02:00
rodzic 3c805874d7
commit e268fd4543
1 zmienionych plików z 27 dodań i 0 usunięć

Wyświetl plik

@ -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()