Ответ - нет, потоки могут прерывать друг друга.Тем не менее, вы можете использовать блокировки, чтобы избежать этого.
Блокировки предотвращают прерывание потоков друг с другом в глобальных вещах (в частности, здесь, на экране вывода), когда поток хочет использовать глобальную вещь с блокировкой, сначала он проверяет,Блокировка разблокирована, если нет, она ждет, пока она не будет, после этого она блокирует блокировку, делает то, что хочет, с глобальной вещью, и, наконец, снимает блокировку.
Однако не просто используйтепомечать переменные и проверять, чтобы реализовать это, потоки могут переключаться между оператором if и блокировкой.Python реализует класс блокировки, если я правильно помню его threading.lock.
Также обратите внимание, что вы можете столкнуться с тупиковой или прямой блокировкой, если не используете блокировки правильно.У меня не так много времени, поэтому я не могу объяснить все это здесь, но вы можете в Google, чтобы узнать больше, я также проверю, смогу ли я поделиться презентациями с моего прошлогоднего курса в университете, они объясняют, что довольнотам хорошо.