✳️ Реализация многопоточности на операциях ввод-вывода может приводить к значительному повышению производительности в зависимых от операций ввода-вывода задачах (I/O-bound tasks), поэтому прежде чем решаться использовать потоки, нужно быть уверенным, что они во время переключатся на операции I/O и данные будут получены во время и будет обеспечена неразрывность кода, т.е. отсутствуют пропуски в принимаемом или передаваемом потоке данных.
✳️ Конечно, Python позволяет применять политики планирования потоков на уровне планировщика ОС, обеспечивающие монопольный захват ядра процессора или путем повышения приоритета их планирования.
⚠️ Но, считаю -- это насилие над системой, накладные расходы которой над потоками привносят дополнительные расходы в питании. Так, например, в мобильных устройствах, питание зависит от продолжительности работы батарейного или литий-ионного аккумулятора. Поэтому любое повышение расхода питания ведут к сокращению В*A/h жизни мобильного устройства.
❗Поэтому предлагаю обратить внимание на асинхронные задачи, реализуемые asyncio: ⤵️