Что выбрать - конкуррентность, параллелизм или новый поток?
У меня есть программа. Она состоит из 5 частей. Чтобы не вдаваться в подробности проведу аналогию: 1 часть флудит в консоль каждые 0.5 секунд, 2 часть редактирует текстовый файл каждую секунду, 3 часть что-то еще каждые 10 секунд и так далее.
Иными словами в программе совершаются разные действия с разными промежутками времени. Все 5 частей программы работают без перерыва, пока пользователь не закроет программу.
Что выбрать для реализации подобного? Потоки, несмотря на GIL, меня вполне устраивают. Однако может есть более красивый и удобный способ? Я смотрю в сторону asyncio и конкурентности, но мне кажется, что это не то. Создавать новый поток?
Отсюда вопрос: что выбрать? Использовать для этого потоки, asyncio или создавать новые потоки?