BitMagic-C++
Data Structures | Namespaces | Functions
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. More...