Найти - Пользователи
Полная версия: Параллельное выполнение операций (как поставить цикл на паузу)
Начало » Python для новичков » Параллельное выполнение операций (как поставить цикл на паузу)
1
LUPER
Здравствуйте. Сразу поясню, что на форуме впервые, поэтому простите, если как-то некорректно задаю вопрос, но постараюсь объяснить максимально просто.

Я собирраюсь написать простую программу Pomodoro. Суть проста: запускается таймер на определенное время (c помощью функции sleep в цикле), после чего повторно другой и так далее. Эту часть кода я написал без проблем. Но мне нужно, чтобы появилась возможность ставить этот таймер на паузу, например, вводом слова “Pause” (приложение будет работать в консоли).

Я придумал такое решение, но не уверен, что оно реализуемое, а тем более, что оно наиболее подходящее. Сам таймер является циклом while, которому передается ранее добавленная в код переменная (допустим pause). Если значение переменной True, то цикл выполняется, соответственно, таймер работает. Теперь мне нужно сделать так, чтобы во врмея выполнения самого цикла была возможность поменять значение переменной pause на False, чтобы таймер стал на паузу (такое вообще возможно?)

Я также знаю, что в Python есть такие понятия как многопоточность, многопроцессорность и что-то этому подобное. Я прочитал много тематических глав книг по программированию, но своего случая так и не нашел, а вдаваться в скрупулезное изучение этой темы пока еще не готов (многое следует узнать перед этим).

Помогите, пожалуйста. Достаточно будет просто меня направить в нужное направление, чтобы я понимал, где искать ответы.
py.user.next
LUPER
Я собирраюсь написать простую программу Pomodoro.
Это для чего нужно?
То, что ты описал, обычно делается средствами операционной системы. Таймеры там, запуски, остановки, перезапуски. А данные хранятся в файлах на диске, которые можно менять в любой момент.
LUPER
Нужна реализация именно на Python, в будущем планирую перенести это программу на рельсы Телеграм-бота. Считаю, что это неплохой тренинг, так как с ботами раньше не сталкивался, а программа в действительности очень простая.
doza_and
LUPER
(такое вообще возможно?)
Конечно возможно. Но если вам по делу надо, то учите как это делается в GUI программах или при помощи asyncio. при помощи sleep и многопоточности будет уродливо и неэффективно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB