Один из способов сделать это в Python 2 - использовать raw_input()
:
raw_input("Press Enter to continue...")
В python3 это просто input()
Это - совершенно допустимый дизайн.
В одном из нашего продукта мы использовали подобный дизайн, где асинхронные каналы ввода-вывода (TCP/IP, 2 последовательных потока) были в их собственных задачах, и у нас была "основная" задача, которая будет ответственна за несколько областей функциональности.
Думайте о задачах как просто механизм разделения, который позволяет Вам упрощать свой дизайн.
Да, наличие циклического руководителя в одном потоке ОС, выполняющем несколько 'задач', может иметь смысл. На самом деле, если два конфликта задач с планированием потребностей (нужно заблокироваться, каждый не более высокий приоритет, чем другой и низкий приоритет, каждому требуется много времени для выполнения, и т.д.), я рекомендовал бы поместить их в тот же поток.
Это особенно верно в случае, где Вы используете легкий RTOS без защиты памяти: отдельные потоки не так более безопасны, чем один поток (никакая защита MMU адресных пространств), на самом деле они потенциально более опасны из-за большей потребности в защите параллелизма. Даже если Ваша схема IPC устойчива и не восприимчива для неправильного использования программистами, это является служебным, является обычно ненулевым, настолько избегающим, чтобы потребность в нем могла привести к увеличению производительности.
Это - допустимый дизайн, но я думаю, что пропустил причину того, чтобы иметь ОС вообще.
Какие средства ОС Вы планируете использовать?
От информации, доступной, кажется, что Вы закончите тем, что переместили сложность задач к Вашему новому основному циклу.