|
ThreadSchedule 3.0.0
Modern C++ thread management library
|
Central registry of threads indexed by OS-level thread ID (native_thread_id). More...
#include <thread_registry_backend.hpp>
Classes | |
| class | query_view |
| Lazy, functional-style query/filter view over a snapshot of registered threads. More... | |
Friends | |
| class | registration_guard_backend |
| class | ::threadschedule::auto_register_current_thread |
Central registry of threads indexed by OS-level thread ID (native_thread_id).
thread_registry_backend maintains a map of currently registered threads together with their metadata and optional thread_control_block handles. It provides a functional-style query API (via query_view) and convenience methods that delegate scheduling operations to each thread's control block.
std::shared_mutex: mutating operations (register, unregister, set callbacks) acquire a unique lock, while read-only operations (get, query, set_affinity, etc.) acquire a shared lock.std::shared_mutex).alive flag as false in the snapshot passed to the callback.onRegister / onUnregister callbacks are invoked with the lock released to avoid deadlock if the callback itself interacts with the registry. The callback receives a copy of the registered_thread_info_backend.std::errc::no_such_process if the TID is not registered or has no control block. Definition at line 79 of file thread_registry_backend.hpp.
|
default |
|
inline |
Definition at line 83 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
delete |
|
inline |
Definition at line 410 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
Referenced by configure().
|
inline |
Definition at line 419 of file thread_registry_backend.hpp.
References configure(), threadschedule::detail::query_facade_mixin< thread_registry_backend >::map(), set_affinity(), and set_name().
|
inline |
Definition at line 175 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
Referenced by threadschedule::detail::external_registry_binding_state::replace().
|
inline |
Definition at line 391 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
delete |
|
inline |
Definition at line 351 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
inline |
Definition at line 106 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map(), and threadschedule::detail::registered_thread_info_backend::tid.
|
inline |
|
inline |
Definition at line 364 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
Referenced by configure().
|
inline |
Definition at line 439 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
Referenced by configure().
|
inline |
Definition at line 382 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
inline |
Definition at line 466 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
inline |
Definition at line 458 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
inline |
Definition at line 486 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
inline |
Definition at line 478 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
inline |
Definition at line 373 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
inline |
Definition at line 400 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
|
inline |
Definition at line 122 of file thread_registry_backend.hpp.
References threadschedule::detail::thread_info::get_thread_id().
|
inline |
Definition at line 448 of file thread_registry_backend.hpp.
References threadschedule::detail::query_facade_mixin< thread_registry_backend >::map().
Definition at line 564 of file thread_registry_backend.hpp.
Definition at line 563 of file thread_registry_backend.hpp.