Class Pool

Class Documentation

class Pool

Declaration: final

Independently owned reusable CPU workers.

One thread is the modest default; an application can configure a root pool and obtain multiple logical groups. Destruction closes, drains accepted jobs, and joins its physical threads. Blocking on jobs/drains from this same pool can exhaust its capacity; use external completion checks instead. Pool ownership must outlive its jobs.

Public Functions

explicit Pool(std::size_t worker_count = 1)
explicit Pool(PoolOptions options)
~Pool()
Pool(const Pool&) = delete
Pool &operator=(const Pool&) = delete
Group make_group(GroupOptions options = GroupOptions{})

Declaration: [[nodiscard]]

inline std::size_t worker_count() const

Declaration: [[nodiscard]]

Capabilities capabilities() const

Declaration: [[nodiscard]]

Topology topology() const

Declaration: [[nodiscard]]

CE::Diagnostics::DomainId diagnostic_id() const noexcept

Declaration: [[nodiscard]]

void report_diagnostics() const noexcept
void close()
void shutdown()