История изменений
Исправление vvn_black, (текущая версия) :
От анонимуса, который мог это написать в Development, но не может в Talks:
Я по теме «Обратного отсчёта». В Юниксах есть системный вызов setitimer (man 2 setitimer), который устанавливает таймер на какое-то время, а после срабатывания таймера обновляет его значение и таким образом получается таймер, срабатывающий с некоторой периодичностью и не отстающий ни на долю секунды. Во время «срабатывания» таймера генерируется сигнал SIGALRM.
В питоне есть биндинг в стандартной библиотеке: https://docs.python.org/3/library/signal.html#signal.setitimer
Насколько я знаю, sleep() в Линуксе реализован тоже через SIGALRM, поэтому его не получится заюзать вместе с таймером. Но заблокировать основную ветку программы можно и другими способами.
Просто захотелось поделиться, но, к сожалению, в толксы анон не может.
Извините за офтоп.
Исходная версия vvn_black, :
Я по теме «Обратного отсчёта». В Юниксах есть системный вызов setitimer (man 2 setitimer), который устанавливает таймер на какое-то время, а после срабатывания таймера обновляет его значение и таким образом получается таймер, срабатывающий с некоторой периодичностью и не отстающий ни на долю секунды. Во время «срабатывания» таймера генерируется сигнал SIGALRM.
В питоне есть биндинг в стандартной библиотеке: https://docs.python.org/3/library/signal.html#signal.setitimer
Насколько я знаю, sleep() в Линуксе реализован тоже через SIGALRM, поэтому его не получится заюзать вместе с таймером. Но заблокировать основную ветку программы можно и другими способами.
Просто захотелось поделиться, но, к сожалению, в толксы анон не может.
Извините за офтоп.