Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 29, 2022 04:31:34

LUPER
Зарегистрирован: 2022-06-29
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельное выполнение операций (как поставить цикл на паузу)

Здравствуйте. Сразу поясню, что на форуме впервые, поэтому простите, если как-то некорректно задаю вопрос, но постараюсь объяснить максимально просто.

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

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

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

Помогите, пожалуйста. Достаточно будет просто меня направить в нужное направление, чтобы я понимал, где искать ответы.

Отредактировано LUPER (Июнь 29, 2022 04:33:24)

Офлайн

#2 Июнь 29, 2022 09:48:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9870
Репутация: +  853  -
Профиль   Отправить e-mail  

Параллельное выполнение операций (как поставить цикл на паузу)

LUPER
Я собирраюсь написать простую программу Pomodoro.
Это для чего нужно?
То, что ты описал, обычно делается средствами операционной системы. Таймеры там, запуски, остановки, перезапуски. А данные хранятся в файлах на диске, которые можно менять в любой момент.



Отредактировано py.user.next (Июнь 29, 2022 09:49:15)

Офлайн

#3 Июнь 29, 2022 17:21:05

LUPER
Зарегистрирован: 2022-06-29
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельное выполнение операций (как поставить цикл на паузу)

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

Офлайн

#4 Июль 1, 2022 22:28:28

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Параллельное выполнение операций (как поставить цикл на паузу)

LUPER
(такое вообще возможно?)
Конечно возможно. Но если вам по делу надо, то учите как это делается в GUI программах или при помощи asyncio. при помощи sleep и многопоточности будет уродливо и неэффективно.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version