ALib C++ Library
Library Version: 2412 R0
Documentation generated by doxygen
Loading...
Searching...
No Matches
alib::threads Namespace Reference

Description:

This is the reference documentation of sub-namespace threads of the ALib C++ Library, which holds types of library module ALib Threads.

Attention
This module must not be omitted from an ALib Distribution if the using software does not make direct use of this module. If omitted, all other ALib Modules will silently (!) drop the protection of their resources against multithreaded access.

Further documentation is provided with

Nested Namespaces:

namespace  detail
 Details of namespace alib::threads.
 

Type Index:

class  Condition
 
struct  DbgConditionAsserter
 
struct  DbgLockAsserter
 
struct  DbgSharedLockAsserter
 
class  Lock
 
class  Promise
 
class  RecursiveLock
 
class  RecursiveTimedLock
 
class  Runnable
 
class  SharedLock
 
class  SharedTimedLock
 
struct  TCondition
 
class  Thread
 
class  TimedLock
 

Type Definition Index:

using ThreadID = integer
 The ALib thread identifier type.
 

Function Index:

void Bootstrap ()
 
void Shutdown ()
 

Variable Index:

ALIB_API Lock STD_IOSTREAMS_LOCK
 
static constexpr ThreadID UNDEFINED = 0
 This is a value that may be passed as a value indicating an undefined thread.
 

Type Definition Details:

◆ ThreadID

The ALib thread identifier type.

Definition at line 28 of file loxpimpl.inl.

Function Details:

◆ Bootstrap()

ALIB_API void Bootstrap ( )

Initializes ALib thread logic. Multiple invocations of this method are forbidden.

The standard bootstrap code of ALib, hence the (overloaded) functions alib::Bootstrap will call this function.

See also
For information about using this method, consult chapter 4.2 Bootstrapping Non-Camp Modules of the ALib Programmer's Manual.

Definition at line 93 of file thread.cpp.

Here is the call graph for this function:

◆ Shutdown()

ALIB_API void Shutdown ( )

Frees resources and shuts down ALib thread logic. Multiple invocations of this method are forbidden. The standard bootstrap code of ALib, hence the (overloaded) functions alib::Shutdown will call this function.

See also
Sibling function Bootstrap.

Definition at line 133 of file thread.cpp.

Variable Details:

◆ STD_IOSTREAMS_LOCK

Lock STD_IOSTREAMS_LOCK

This global mutex is acquired by ALib-types, whenever data is written to either std::cout or std::cerr. This is, for example, acquired by type ReportWriterStdIO and by loggers of module ALox that log to the console.

Definition at line 301 of file locks.cpp.

◆ UNDEFINED

ThreadID UNDEFINED = 0
staticconstexpr

This is a value that may be passed as a value indicating an undefined thread.

Definition at line 39 of file thread.hpp.