MCPcopy Create free account
hub / github.com/Extra-Creativity/Modern-Cpp-Basics / Sleep

Function Sleep

13-Multithreading/code/condition_var_any.cpp:17–25  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

15std::uint64_t tick = 0;
16
17void Sleep(std::uint64_t tickNum)
18{
19 std::shared_lock lock{ mutex };
20 auto wakeupTick = tick + tickNum;
21 condVar.wait(lock, [wakeupTick]() {
22 // Sleep until current tick has exceeded limit.
23 return tick >= wakeupTick;
24 });
25}
26
27void Work(int id, int loopNum, std::uint64_t sleepTick)
28{

Callers 1

WorkFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected