MCPcopy Create free account
hub / github.com/dmlc/parameter_server / getNextTask

Method getNextTask

src/util/threadpool.cc:36–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34}
35
36typename ThreadPool::Task ThreadPool::getNextTask() {
37 std::unique_lock<std::mutex> l(mu_);
38 for (;;) {
39 if (!tasks_.empty()) {
40 auto task = tasks_.front();
41 tasks_.pop_front();
42 return task;
43 }
44
45 if (waiting_to_finish_)
46 return Task();
47 else
48 cv_.wait(l);
49 }
50 return Task();
51}
52
53void ThreadPool::add(const Task& task) {
54 std::lock_guard<std::mutex> l(mu_);

Callers 1

RunWorkerFunction · 0.80

Calls 4

TaskClass · 0.85
frontMethod · 0.80
waitMethod · 0.80
emptyMethod · 0.45

Tested by

no test coverage detected