mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-15 17:30:27 +08:00
chore: 优化sleep检查退出的间隔时间
This commit is contained in:
@@ -29,16 +29,15 @@ bool asst::InstHelper::sleep(unsigned millisecond) const
|
||||
std::this_thread::yield();
|
||||
return true;
|
||||
}
|
||||
auto start = std::chrono::steady_clock::now();
|
||||
Log.trace("ready to sleep", millisecond);
|
||||
auto millisecond_ms = std::chrono::milliseconds(millisecond);
|
||||
auto interval = millisecond_ms / 5;
|
||||
auto interval = std::chrono::milliseconds(std::min(millisecond, 5000U));
|
||||
|
||||
while (!need_exit()) {
|
||||
for (auto sleep_time = interval; sleep_time <= millisecond_ms && !need_exit(); sleep_time += interval) {
|
||||
std::this_thread::sleep_for(interval);
|
||||
if (std::chrono::steady_clock::now() - start > millisecond_ms) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!need_exit()) {
|
||||
std::this_thread::sleep_for(millisecond_ms % interval);
|
||||
}
|
||||
Log.trace("end of sleep", millisecond);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user