Děkuju za uvedení tříd ThreadPoolExecutor a ProcessPoolExecutor - ani jednu jsem neznal a je to docela pěkný mechanismus.
K asyncio bych měl jednu prosbu do dalších dílů - bylo by možné zkusit popsat to, jak fungují výjimky a obecně ukončování programů, které s asyncio na něco čekají? Asi to popisuju dost nešikovně, ale jde o konkrétní problém - před časem jsem psal pythoní "server" co na jedné straně byl připojený na frekvenční měnič přes modbusTCP a na druhé straně přes aiohttp a socketio nabízel web, ze kterého se ten měnič dal ovládat. Celé jsem to dohromady poplácal celkem snadno, ale problém nastal když nějaká část spadla na výjimce. Pak se to chovalo dost divně, ta část programu kde to spadlo pak umřela ale ostatní "tasky" běžely dál. A podle googlu to je věc, že kterou jsem "problém" neměl sám...