#include <pool.hpp>
◆ submit_func_result_type
template<typename TFunction >
◆ anonymous enum
Enumerator |
---|
default_num_threads | |
◆ anonymous enum
Enumerator |
---|
default_queue_size | |
◆ Pool() [1/3]
Create thread pool with the given number of threads. If num_threads is 0, the number of threads is read from the environment variable OSMIUM_POOL_THREADS. The default value in that case is -2.
If the number of threads is a negative number, it will be set to the actual number of cores on the system plus the given number, ie it will leave a number of cores unused.
In all cases the minimum number of threads in the pool is 1.
If max_queue_size is 0, the queue size is read from the environment variable OSMIUM_MAX_WORK_QUEUE_SIZE.
◆ Pool() [2/3]
osmium::thread::Pool::Pool |
( |
const Pool & |
| ) |
|
|
delete |
◆ Pool() [3/3]
osmium::thread::Pool::Pool |
( |
Pool && |
| ) |
|
|
delete |
◆ ~Pool()
osmium::thread::Pool::~Pool |
( |
| ) |
|
|
inline |
◆ default_instance()
static Pool & osmium::thread::Pool::default_instance |
( |
| ) |
|
|
inlinestatic |
Return a statically created "default pool". This is initialized the first time you use it.
Do not use this if your program will fork.
◆ num_threads()
int osmium::thread::Pool::num_threads |
( |
| ) |
const |
|
inlinenoexcept |
◆ operator=() [1/2]
Pool & osmium::thread::Pool::operator= |
( |
const Pool & |
| ) |
|
|
delete |
◆ operator=() [2/2]
Pool & osmium::thread::Pool::operator= |
( |
Pool && |
| ) |
|
|
delete |
◆ queue_empty()
bool osmium::thread::Pool::queue_empty |
( |
| ) |
const |
|
inline |
◆ queue_size()
std::size_t osmium::thread::Pool::queue_size |
( |
| ) |
const |
|
inline |
◆ shutdown_all_workers()
void osmium::thread::Pool::shutdown_all_workers |
( |
| ) |
|
|
inline |
◆ submit()
template<typename TFunction >
◆ worker_thread()
void osmium::thread::Pool::worker_thread |
( |
| ) |
|
|
inlineprivate |
◆ m_joiner
◆ m_num_threads
int osmium::thread::Pool::m_num_threads |
|
private |
◆ m_threads
std::vector<std::thread> osmium::thread::Pool::m_threads {} |
|
private |
◆ m_work_queue
The documentation for this class was generated from the following file: