Files

21 lines
466 B
Python

import uasyncio as asyncio
class Queue:
def __init__(self):
self.items = []
self.waiters = []
async def put(self, item):
self.items.append(item)
if self.waiters:
waiter = self.waiters.pop(0)
waiter.set()
async def get(self):
while not self.items:
event = asyncio.Event()
self.waiters.append(event)
await event.wait()
return self.items.pop(0)