6 #ifndef INCLUDED_ILM_THREAD_POOL_H
7 #define INCLUDED_ILM_THREAD_POOL_H
57 virtual int numThreads ()
const = 0;
59 virtual void setNumThreads (
int count) = 0;
61 virtual void addTask (
Task* task) = 0;
65 virtual void finish () = 0;
68 ThreadPoolProvider (
const ThreadPoolProvider &) =
delete;
69 ThreadPoolProvider &operator= (
const ThreadPoolProvider &) =
delete;
70 ThreadPoolProvider (ThreadPoolProvider &&) =
delete;
71 ThreadPoolProvider &operator= (ThreadPoolProvider &&) =
delete;
89 static unsigned estimateThreadCountForFileIO ();
106 ThreadPool (
const ThreadPool&) =
delete;
107 ThreadPool& operator= (
const ThreadPool&) =
delete;
108 ThreadPool (ThreadPool&&) =
delete;
109 ThreadPool& operator= (ThreadPool&&) =
delete;
166 Task (
const Task&) =
delete;
167 Task &operator= (
const Task&) =
delete;
168 Task (Task&&) =
delete;
169 Task& operator= (Task&&) =
delete;
171 virtual void execute () = 0;
188 TaskGroup (
const TaskGroup& other) =
delete;
189 TaskGroup& operator = (
const TaskGroup& other) =
delete;
190 TaskGroup (TaskGroup&& other) =
delete;
191 TaskGroup& operator = (TaskGroup&& other) =
delete;
205 #endif // INCLUDED_ILM_THREAD_POOL_H
#define ILMTHREAD_INTERNAL_NAMESPACE_HEADER_ENTER
#define ILMTHREAD_INTERNAL_NAMESPACE_HEADER_EXIT
#define ILMTHREAD_EXPORT_TYPE