Python — я пытаюсь запустить цикл основной логики (игрового сервера) одновременно с asyncio start_server, ожидающим трафик TCP

Python - я пытаюсь запустить цикл основной логики (игрового сервера) одновременно с asyncio start_server, ожидающим трафик TCPУ меня есть история, которая похожа на небольшую комедию. Один программист пытался сделать свой код работающим одновременно в двух режимах: слушать входящие соединения через TCP и обновлять кеши. Как вы думаете, что из этого получилось?

Он создал сервер для приема данных через TCP, а затем запустил цикл в функции main().

Но вот беда — как заставить эти два цикла работать параллельно? Программист попробовал использовать asyncio, но что-то пошло не так.

Когда он добавил цикл loop.run_forever(), ожидая входящих соединений, у него возникли странные проблемы. Одна строчка «debug print?» выводилась только один раз, хотя программа должна была ее печатать многократно.

Видимо, цикл asyncio забирал на себя всю внимательность.

И тут на помощь пришел советчик со своей идеей о многопоточности. «Создайте поток для каждой из задач!» — предложил он.

Ну что же, кажется, наш герой отправился на новое приключение — изучение многопоточности.

Возможно, это станет началом нового комического сериала «Приключения программиста в поисках параллельности». Ждем продолжения следующим летом!

А пока у нас все как в анекдоте про программиста: «Программист шел по лесу и нашел лягушку. Лягушка говорит: ‘Поцелуй меня, и я превращусь в прекрасную принцессу’. Программист кладет лягушку в карман и говорит: ‘Лучше будешь полезной'».

Или еще один классический анекдот: «Программист написал код, запустил его — все работает! Настоящий профессионал! Пока пользователи его не начали использовать…».

Так что друзья, не теряйте чувство юмора даже в самых сложных ситуациях с кодом!