Я создал программу на с ++ для изменения пароля системы, и я хочу запускать ее каждые 2 часа, а затем я получаю два варианта на с ++, один Sleep(ms)
а другой использует последние темы lib this_thread::sleep_for(2h)[ 2h using std::chrono_literals]
,
Сомнение, которое я бродил, состоит в том, долго ли останавливает exe
будет работать так, как мы хотим, это лучше, чем я упомянул?
Я также планировал поставить свой exe
в качестве службы Windows.
любой другой лучший способ, чем я упомянул?
Да.
Я предлагаю, чтобы вы не приостановили программу на. Просто сделай это и выйди.
Извлеките часть планирования в отдельную программу. Вам даже не нужно писать этот планировщик, потому что он уже существует на самый операционная системы.
Если у вас есть какая-то задача, которую нужно периодически запускать с длительными периодами ожидания, вы должны использовать программу или скрипт, который выполняет задачу и завершается, и планировщик, который обрабатывает ожидание. Есть также вопросы, которые вы должны рассмотреть, например:
То, что вы пытаетесь сделать, это реализовать планировщик самостоятельно. Если это то, что вы хотите, то sleep
является функцией posix, и chrono::thread::sleep_for
является кроссплатформенным, так что лучше использовать второй.
Однако обычно не рекомендуется реализовывать планировщики, более того, такие простые.