2
3
6
7
8
9
10
11
20
21
22
23
24
25
26
27
28template<
typename Lambda >
An interface of factory for management of worker threads.
virtual ~abstract_work_thread_factory_t()
abstract_work_thread_factory_t()
An interface for one worker thread.
virtual ~abstract_work_thread_t()
The standard implementation of abstract_work_thread_factory interface.
abstract_work_thread_t & acquire(so_5::environment_t &) override
Get a new worker thread from factory.
void release(abstract_work_thread_t &thread) noexcept override
Return a worker thread back to the factory.
std_work_thread_factory_t()=default
The standard implementation of abstract_work_thread interface.
void join() override
Stops the current thread until worker thread completes execution of thread_body passed to previous ca...
std_work_thread_t()=default
void start(body_func_t thread_body) override
Start a new thread and execute specified functor on it.
std::thread m_thread
Actual thread.
Some reusable and low-level classes/functions which can be used in public header files.
void suppress_exceptions(Lambda &&lambda) noexcept
Helper function for execution a block of code with suppression of any exceptions raised inside that b...
SO_5_FUNC abstract_work_thread_factory_shptr_t make_std_work_thread_factory()
Get a standard SObjectizer's work thread factory that is used by default.
Private part of message limit implementation.