#include <atomic>#include <cassert>#include <condition_variable>#include <cstdlib>#include <deque>#include <mutex>#include <thread>#include <moodycamel/concurrentqueue.h>#include <dispenso/detail/epoch_waiter.h>#include <dispenso/detail/per_thread_info.h>#include <dispenso/once_function.h>#include <dispenso/platform.h>#include <dispenso/tsan_annotations.h>Go to the source code of this file.
Classes | |
| struct | dispenso::ForceQueuingTag |
| class | dispenso::ThreadPool |
Macros | |
| #define | DISPENSO_WAKEUP_ENABLE 0 |
| #define | DISPENSO_POLL_PERIOD_US 200 |
Functions | |
| ThreadPool & | dispenso::globalThreadPool () |
| void | dispenso::resizeGlobalThreadPool (size_t numThreads) |
Variables | |
| constexpr uint32_t | dispenso::kDefaultSleepLenUs = DISPENSO_POLL_PERIOD_US |
| constexpr bool | dispenso::kDefaultWakeupEnable = DISPENSO_WAKEUP_ENABLE |
A file providing ThreadPool. This is the heart of dispenso. All other scheduling paradigms, including TaskSets, Futures, pipelines, and parallel loops, are built on top of ThreadPool.
Definition in file thread_pool.h.
| #define DISPENSO_POLL_PERIOD_US 200 |
Definition at line 50 of file thread_pool.h.
| #define DISPENSO_WAKEUP_ENABLE 0 |
Definition at line 41 of file thread_pool.h.
| DISPENSO_DLL_ACCESS ThreadPool & dispenso::globalThreadPool | ( | ) |
Get access to the global thread pool.
Definition at line 223 of file thread_pool.cpp.
| DISPENSO_DLL_ACCESS void dispenso::resizeGlobalThreadPool | ( | size_t | numThreads | ) |
Change the number of threads backing the global thread pool.
| numThreads | The number of threads to back the global thread pool. |
Definition at line 231 of file thread_pool.cpp.
|
constexpr |
Definition at line 57 of file thread_pool.h.
|
constexpr |
Definition at line 59 of file thread_pool.h.