bmthreadpool.h File Reference
`#include <type_traits>`
`#include <queue>`
`#include <thread>`
`#include <mutex>`
`#include <atomic>`
`#include <condition_variable>`
`#include "bmbuffer.h"`
`#include "bmtask.h"`
Include dependency graph for bmthreadpool.h:

Go to the source code of this file.

## Data Structures

struct | bm::pad60_struct
| Pad 60 bytes so that the final ocupiles 64 bytes (1 cache line). More...
struct | bm::pad0_struct
| Empty padding. More...
class | bm::spin_lock< Pad >
| Spin-lock with two-phase acquire (read + cas) padding parameter optionally adds a buffer to avoid CPU cache line contention. More...
class | bm::queue_sync< Value, Lock >
| Thread-sync queue with MT access protecion. More...
class | bm::thread_pool< QValue, Lock >
| Thread pool with custom (thread safe) queue. More...
class | bm::thread_pool_executor< TPool >
| Utility class to submit task batch to the running thread pool and optionally wait for it getting done. More...

## Namespaces

namespace | bm

## Functions

template<typename TCont>
void | bm::join_multiple_threads (TCont &tcont)
| Wait for multiple threads to exit.