parent
e0aac447e8
commit
fdeff2d7d1
2 changed files with 35 additions and 4 deletions
@ -0,0 +1,29 @@ |
||||
#pragma once |
||||
|
||||
#include <spch.h> |
||||
#include <time/time.h> |
||||
|
||||
namespace Bk { |
||||
template<typename P> |
||||
class TaskDelayer
|
||||
{ |
||||
public: |
||||
TaskDelayer(int n_ts,
|
||||
std::unique_ptr<std::function<void()>> action |
||||
): ts(n_ts)
|
||||
{ |
||||
worker = std::thread([this](std::unique_ptr<std::function<void()>> action) |
||||
{ |
||||
std::function<void()>& task = *action; |
||||
std::this_thread::sleep_for(ts.interval); |
||||
task(); |
||||
}, std::move(action));
|
||||
} |
||||
|
||||
~TaskDelayer() { worker.join(); } |
||||
|
||||
private: |
||||
std::thread worker; |
||||
TimeSpan<P> ts; |
||||
}; |
||||
} |
Loading…
Reference in New Issue