kopia lustrzana https://github.com/micropython/micropython-lib
28 wiersze
530 B
Python
28 wiersze
530 B
Python
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()
|