Я вижу, что SetThreadExecutionState не позволит компьютеру спать.Как предотвратить спящий режим с boost :: thread
С boost :: thread, как я могу применить это к своему программному обеспечению? С отключением_перерыва?
Я вижу, что SetThreadExecutionState не позволит компьютеру спать.Как предотвратить спящий режим с boost :: thread
С boost :: thread, как я могу применить это к своему программному обеспечению? С отключением_перерыва?
Это специальная функция операционной системы и полностью не связана с резьбой.
Это связано с управлением питанием.
Вы можете запустить/а/фоновый поток, который делает это в цикле, хотя:
void background_thread() {
while (true) {
boost::this_thread::sleep_for(boost::chrono::seconds(30));
::SetThreadExecutionState(...); // whatever you want to do
}
}
Как ни странно, вы хотите использовать точки interuption для того, чтобы корректно завершить эту нить (хотя вы можете используйте любой механизм синхронизации, который вы предпочитаете)