n | | n | import random |
| import asyncio | | import asyncio |
n | import random | n | |
| | | |
| class Seq: | | class Seq: |
n | counter = asyncio.Future() | n | _last_future = asyncio.Future() |
| counter.set_result(None) | | _last_future.set_result(None) |
| | | |
| def __init__(self, name): | | def __init__(self, name): |
| self.name = name | | self.name = name |
n | self._prev_counter = Seq.counter | n | self._prev_future = Seq._last_future |
| self._cur_count = asyncio.Future() | | self._current_future = asyncio.Future() |
| Seq.counter = self._cur_count | | Seq._last_future = self._current_future |
| | | |
| async def run(self): | | async def run(self): |
n | await self._prev_counter | n | await self._prev_future |
| print(self.name) | | print(self.name) |
t | self._cur_count.set_result(self.name) | t | self._current_future.set_result(self.name) |
| return self.name | | return self.name |