32 std::thread(std::bind(&
Task::run, t)).detach();
36 std::lock_guard<std::mutex> lg(mutex_);
37 queues_[policy].push(t);
44 auto &queue = queues_[me];
45 int run = queue.size();
51 auto task = queue.front();
61 std::lock_guard<std::mutex> lg(mutex_);
62 assert(queues_.count(me) == 0);
This is the header file for a generated source file, GitSHA1.cpp.
std::shared_ptr< Task > TaskPtr
Scheduler(Kernel *kptr)
Construct a scheduler object (generally 1 per application).
std::enable_if< !std::is_convertible< Callable, std::shared_ptr< Tasks::Task > >::value, void >::type enqueue(const Callable &call, TargetThread policy)
void register_thread(TargetThread me)
This is currently useless.
Kernel & kernel()
Retrieve the kernel reference associated with the scheduler.
void update(TargetThread me) noexcept
This will run queued tasks that are scheduled to run on thread me.