Lines Matching full:tasks
11 /// pattern. It aims at performing a set of tasks in parallel, using
42 /// The main interface of this pattern is a @ref queue of @ref tasks
54 /// queue". Then the thread looks at the @ref queue of tasks to be
62 /// Note that the user of the queue can either wait for all the tasks
64 /// vector of done tasks and proceed to whatever computation she may
108 // A mutex that protects the todo tasks queue from being accessed in
113 // todo tasks. Whenever a new task is added to that queue, a signal
116 // A mutex that protects the done tasks queue from being accessed in
120 // used to wait for tasks completed when bringing the workers down.
127 // task has been completed and has been added to the done tasks
146 /// added that task to the vector of the done tasks.
174 /// Submit a task to the queue of tasks to be performed.
198 /// Submit a vector of task to the queue of tasks to be performed.
201 /// performing the tasks. When they are done with the task, they go
202 /// back to be suspended, waiting for new tasks to be scheduled.
204 /// @param tasks the tasks to schedule.
206 schedule_tasks(const tasks_type& tasks) in schedule_tasks()
209 for (tasks_type::const_iterator t = tasks.begin(); t != tasks.end(); ++t) in schedule_tasks()
217 /// execution. If there are tasks to perform, they finish them and
220 /// This function then joins all the tasks of the pool, waiting for
223 /// worker threads to finish their tasks, and end their execution.
234 // Wait for the todo list to be empty to make sure all tasks got picked up in do_bring_workers_down()
290 /// other tasks.
304 /// Submit a task to the queue of tasks to be performed.
318 /// Submit a vector of tasks to the queue of tasks to be performed.
321 /// start performing the tasks. When the threads are done with the
322 /// tasks, they goes back to be suspended, waiting for a new task to
325 /// @param tasks the tasks to schedule.
327 queue::schedule_tasks(const tasks_type& tasks) in schedule_tasks() argument
328 {return p_->schedule_tasks(tasks);} in schedule_tasks()
331 /// performing the tasks they are executing.
343 /// Getter of the vector of tasks that got performed.
345 /// @return the vector of tasks that got performed.
369 /// of done tasks.
381 // If there is no more tasks to perform and the queue is not to in wait_to_execute_a_task()
382 // be brought down then wait (sleep) for new tasks to come up. in wait_to_execute_a_task()
386 // We were woken up. So maybe there are tasks to perform? If in wait_to_execute_a_task()
397 // done then add to the set of tasks that are done. in wait_to_execute_a_task()
402 // Add the task to the vector of tasks that are done and in wait_to_execute_a_task()