f | import asyncio | f | import asyncio |
| import random | | import random |
| | | |
| class Seq: | | class Seq: |
n | instance_num = 0 | n | _next_index = 0 |
| events = [] | | _events = [] |
| | | |
| def __init__(self, name): | | def __init__(self, name): |
| self.name = name | | self.name = name |
n | self.index = Seq.instance_num | n | self.index = Seq._next_index |
| Seq.instance_num += 1 | | Seq._next_index += 1 |
| Seq.events.append(asyncio.Event()) | | Seq._events.append(asyncio.Event()) |
| if self.index == 0: | | if self.index == 0: |
n | Seq.events[self.index].set() | n | Seq._events[self.index].set() |
| | | |
| async def run(self): | | async def run(self): |
n | await Seq.events[self.index].wait() | n | await Seq._events[self.index].wait() |
| print(self.name) | | print(self.name) |
t | if self.index + 1 < len(Seq.events): | t | if self.index + 1 < len(Seq._events): |
| Seq.events[self.index + 1].set() | | Seq._events[self.index + 1].set() |
| return self.name | | return self.name |