И скорее всего можно сначала создать класс "группа", а потом уже по нисходящей создавать класс "студент", который наследует группу..
Я в асинкио бум-бум и понятие "воркер" у меня в голове = тред/процесс.
import asyncio
import logging
import random
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
async def logger(r: asyncio.Queue):
while True:
msg = await r.get()
logging.info(msg)
async def worker(q: asyncio.Queue, r: asyncio.Queue, index: int):
while not q.empty():
task = await q.get()
await r.put(f'Worker #{index} performs task #{task}')
await asyncio.sleep(random.random())
await r.put(f'Worker #{index} finished')
async def main(loop: asyncio.AbstractEventLoop):
WORKERS_AMOUNT = 5
q = asyncio.Queue()
r = asyncio.Queue()
tasks: list = []
[await q.put(x) for x in range(100)]
l = loop.create_task(logger(r))
for i in range(WORKERS_AMOUNT):
tasks.append(loop.create_task(worker(q, r, i)))
await asyncio.gather(*tasks)
l.cancel()
if __name__ == '__main__':
loop: asyncio.AbstractEventLoop = asyncio.get_event_loop()
loop.run_until_complete(main(loop))
loop.close()
Есть классы стул и розетка. Зачем им наследовать друг друга? Вы пытаетесь то же самое сделать.
Другое дело:
Класс Транспорт, от которого можно наследоваться велосипеду, автомобилю и самолету.
Улавливаете разницу?
Да ни за чем. Только выберите другую сферу деятельности, пожалуйста.