Tkrzw
Classes | Namespaces | Functions
tkrzw_thread_util.h File Reference

Threading utilities. More...

#include <atomic>
#include <chrono>
#include <condition_variable>
#include <functional>
#include <queue>
#include <set>
#include <shared_mutex>
#include <string>
#include <string_view>
#include <thread>
#include <vector>
#include <cinttypes>
#include "tkrzw_lib_common.h"
#include "tkrzw_time_util.h"

Classes

class  tkrzw::SpinMutex
 Spin lock mutex. More...
 
class  tkrzw::SpinSharedMutex
 Spin lock shared mutex. More...
 
class  tkrzw::SpinWPSharedMutex
 Spin lock shared mutex, with write-preferring policy. More...
 
class  tkrzw::SlottedMutex< SHAREDMUTEX >
 Slotted shared mutex. More...
 
class  tkrzw::ScopedSlottedLock< SHAREDMUTEX >
 Scoped lock with a slotted shared mutex. More...
 
class  tkrzw::HashMutex< SHAREDMUTEX >
 Mutex for a hash table. More...
 
class  tkrzw::ScopedHashLock< SHAREDMUTEX >
 Scoped lock with a mutex for a hash table. More...
 
class  tkrzw::ScopedHashLockMulti< SHAREDMUTEX >
 Scoped lock with multiple mutexes for a hash table. More...
 
class  tkrzw::TaskQueue
 Task queue with a thread pool. More...
 
class  tkrzw::TaskQueue::Task
 Interface of a task. More...
 
class  tkrzw::TaskQueue::TaskWithLambda
 Task implementation with a lambda function. More...
 
class  tkrzw::WaitCounter
 Wait counter for monitoring other threads. More...
 
class  tkrzw::SignalBroker
 Broker to send a signal to another thread. More...
 
class  tkrzw::SignalBroker::Waiter
 Handler to wait for the signal. More...
 
class  tkrzw::KeySignalBroker< KEYTYPE >
 Broker to send a signal associated with a key to another thread. More...
 
class  tkrzw::KeySignalBroker< KEYTYPE >::Waiter
 Handler to wait for the signal. More...
 
class  tkrzw::SlottedKeySignalBroker< KEYTYPE >
 Slotted broker to send a signal associated with a key to another thread. More...
 
class  tkrzw::SlottedKeySignalBroker< KEYTYPE >::Waiter
 Handler to wait for the signal. More...
 
class  tkrzw::ScopedCounter< T >
 Scoped counter for auto increment and decrement. More...
 

Namespaces

 tkrzw
 Common namespace of Tkrzw.
 

Functions

void tkrzw::SleepThread (double sec)
 Sleeps the current thread. More...
 

Detailed Description

Threading utilities.