Почему есть больше реализаций cron через событие проверки по тикам вместо расчета продолжительности и сна? - PullRequest
0 голосов
/ 04 августа 2020

Недавно я реализовал в ржавчине cron-подобную функциональность и ищу библиотеку планировщика. Я бы в своем воображении реализовал такой планировщик следующим образом:

  1. проверка события по тику
scheduler = Scheduler()
scheduler.on("*/10 * * * *").do( (){println("something")} )
while true {
   if scheduler.time_to_wake_up {
      scheuler.do_work()
   }
   sleep(100ms);
}
вычислить время и подождать
scheduler = Scheduler()
scheduler.on("*/10 * * * *").do( (){println("something")} )
while true {
   sleep(scheduler.next_event_time() - now());
   scheduler.do_work()
}

Однако я вижу реализацию в 1 гораздо больше, чем в 2, что, по-моему, занимает больше времени процессора. Есть ли вообще причина так делать?

...