каков наилучший способ долгой паузы

Я создал программу на с ++ для изменения пароля системы, и я хочу запускать ее каждые 2 часа, а затем я получаю два варианта на с ++, один Sleep(ms) а другой использует последние темы lib this_thread::sleep_for(2h)[ 2h using std::chrono_literals],

Сомнение, которое я бродил, состоит в том, долго ли останавливает exe будет работать так, как мы хотим, это лучше, чем я упомянул?

Я также планировал поставить свой exe в качестве службы Windows.

-1

Решение

любой другой лучший способ, чем я упомянул?

Да.

Я предлагаю, чтобы вы не приостановили программу на. Просто сделай это и выйди.

Извлеките часть планирования в отдельную программу. Вам даже не нужно писать этот планировщик, потому что он уже существует на самый операционная системы.

2

Другие решения

Если у вас есть какая-то задача, которую нужно периодически запускать с длительными периодами ожидания, вы должны использовать программу или скрипт, который выполняет задачу и завершается, и планировщик, который обрабатывает ожидание. Есть также вопросы, которые вы должны рассмотреть, например:

  • Вам нужно запустить задачу, если запланированное время было пропущено (например, из-за перезагрузки)
  • разрешаете ли вам запускать несколько ваших задач одновременно, если время, необходимое для выполнения, превышает период ожидания

То, что вы пытаетесь сделать, это реализовать планировщик самостоятельно. Если это то, что вы хотите, то sleep является функцией posix, и chrono::thread::sleep_for является кроссплатформенным, так что лучше использовать второй.

Однако обычно не рекомендуется реализовывать планировщики, более того, такие простые.

2

По вопросам рекламы [email protected]