libjmmcg
build_2783
A C++ library containing an eclectic mix of useful, advanced components.
|
The various lock-types for sequential use, with no threading. More...
#include <thread_api_traits.hpp>
Classes | |
struct | scoped_lock |
Static Public Member Functions | |
static constexpr timeout_type | infinite_timeout () noexcept(true) FORCE_INLINE |
Static Public Attributes | |
static constexpr generic_traits::api_type | api_type =platform_api |
The various lock-types for sequential use, with no threading.
Definition at line 84 of file thread_api_traits.hpp.
typedef no_locking::anon_event jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::anon_event_type |
Definition at line 106 of file thread_api_traits.hpp.
typedef no_locking::critical_section jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::anon_mutex_type |
Definition at line 103 of file thread_api_traits.hpp.
typedef no_locking::anon_event jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::anon_semaphore_type |
Definition at line 112 of file thread_api_traits.hpp.
using jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::atomic = atomic_ctr<V, api_lock_traits<api_type, model_type> > |
Definition at line 122 of file thread_api_traits.hpp.
using jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::atomic_counter_type = atomic_ctr<V, api_lock_traits<api_type, model_type> > |
This counter-type may not use a mutex_type to protect the counter, it may use the underlying API to provide a lock-free atomic counter. It is 2-5 times faster than the atomic_counter_type, also the CPU load on two processors is close to 100% in certain performance tests.
Definition at line 118 of file thread_api_traits.hpp.
typedef no_locking::critical_section jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::critical_section_type |
Definition at line 107 of file thread_api_traits.hpp.
typedef no_locking::anon_event jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::event_type |
Definition at line 111 of file thread_api_traits.hpp.
using jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::exception_type = crt_exception<platform_api, sequential_mode> |
Definition at line 129 of file thread_api_traits.hpp.
typedef int jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::handle_type |
Definition at line 101 of file thread_api_traits.hpp.
typedef sequential_mode jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::model_type |
Definition at line 86 of file thread_api_traits.hpp.
typedef no_locking::critical_section jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::mutex_type |
Definition at line 109 of file thread_api_traits.hpp.
typedef no_locking::critical_section jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::nonrecursive_anon_mutex_type |
Definition at line 104 of file thread_api_traits.hpp.
using jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::noop_atomic_ctr = noop_atomic_ctr_base<V, api_lock_traits<api_type, model_type> > |
Definition at line 120 of file thread_api_traits.hpp.
typedef no_locking::critical_section jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::recursive_anon_mutex_type |
Definition at line 105 of file thread_api_traits.hpp.
typedef no_locking::critical_section jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::recursive_critical_section_type |
Definition at line 108 of file thread_api_traits.hpp.
typedef no_locking::critical_section jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::recursive_mutex_type |
Definition at line 110 of file thread_api_traits.hpp.
typedef no_locking::anon_event jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::semaphore_type |
Definition at line 113 of file thread_api_traits.hpp.
using jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::timeout_type = int |
Definition at line 123 of file thread_api_traits.hpp.
enum jmmcg::ppd::api_lock_traits< platform_api, sequential_mode >::atomic_state_type |
Enumerator | |
---|---|
atom_set | |
atom_abandoned | |
atom_already_set | |
atom_max_recurse | |
atom_deadlocked | |
atom_perm_error | |
atom_failed | |
atom_interrupted | |
atom_nomemory | |
atom_unset | |
atom_errno |
Definition at line 87 of file thread_api_traits.hpp.
|
inlinestaticconstexprnoexcept |
Definition at line 131 of file thread_api_traits.hpp.
|
staticconstexpr |
Definition at line 85 of file thread_api_traits.hpp.