LINUX.ORG.RU

История изменений

Исправление 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, поэтому его не получится заюзать вместе с таймером. Но заблокировать основную ветку программы можно и другими способами.

Просто захотелось поделиться, но, к сожалению, в толксы анон не может.

Извините за офтоп.