Уведомления

Группа в Telegram: присоединиться

#1 Июнь 12, 2018 18:37:03

Seeker3301
Зарегистрирован: 2018-06-12
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельный процесс

Народ, нужна помощь.
Есть временнОй цикл, время выполнения определяется пользователем. Для удобства внутри цикла хочу запустить отдельный сценарий с таймером, который будет показывать, сколько времени ещё осталось до конца выполнения, но не могу сделать так, чтобы этот сценарий обрабатывался независимо от основного, т.е. моя программа ждет, пока таймер дойдет до нуля, и только потом непосредственно переходит к выполнению основной задачи цикла. Как мне запустить таймер параллельно с циклом, чтобы он не тормозил его работу?
З.Ы.
Только недавно начал осваивать азы программирования и Python\’а, поэтому сразу извиняюсь за неточности и сумбурности в вопросе
Python 3.6.3, windows

Офлайн

#2 Июнь 13, 2018 21:51:51

spikejke
Зарегистрирован: 2018-02-12
Сообщения: 40
Репутация: +  5  -
Профиль   Отправить e-mail  

Параллельный процесс

Привет, вот как я реализовал. Уверен есть +100500 разных способов

 from threading import Thread
import time
def do_something(second):
    action_time = time.time() + second
    th1 = Thread(target=timer, args=(action_time,), daemon=True)
    th1.start()
    while action_time > time.time():
        time.sleep(2)
        print("Main Action")
def timer(action_time):
    while action_time > time.time():
        time.sleep(5)
        print(action_time - time.time())
do_something(30)
# Вывод
>>> Main Action
>>> Main Action
>>> 24.994654655456543

Отредактировано spikejke (Июнь 13, 2018 21:58:51)

Офлайн

#3 Июнь 15, 2018 00:00:10

Seeker3301
Зарегистрирован: 2018-06-12
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Параллельный процесс

spikejke
Привет, вот как я реализовал. Уверен есть +100500 разных способов
Спасибо большое!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version