oa::ThreadPool

ThreadPool struct in the OA Core public surface.

Public Methods

const CpuTopology & oa::ThreadPool::getTopology()
bool oa::ThreadPool::isRunning()
oa::I32 oa::ThreadPool::numWorkers()
void oa::ThreadPool::shutdown()
void oa::ThreadPool::submit(oa::Fn<void ()> inJob)
oa::SharedPtr<Task<decltype(inFunc())>> oa::ThreadPool::submitTask(F inFunc)

Static Public Methods

static ThreadPool oa::ThreadPool::create(const ThreadPoolConfig & inConfig = {})

Constructor & Destructor Documentation

void oa::ThreadPool::~ThreadPool()
No public source comment is attached to this declaration.

Public Method Documentation

const CpuTopology & oa::ThreadPool::getTopology()
No public source comment is attached to this declaration.

Returns

const CpuTopology &

The declared return value.

bool oa::ThreadPool::isRunning()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

oa::I32 oa::ThreadPool::numWorkers()
No public source comment is attached to this declaration.

Returns

oa::I32

The declared return value.

void oa::ThreadPool::shutdown()
Explicit graceful boundary. Stops intake, drains queued jobs, and waits for every worker. Destruction only requests cancellation and never joins.

Returns

void

The declared return value.

void oa::ThreadPool::submit( oa::Fn<void ()> inJob )
No public source comment is attached to this declaration.

Parameters

inJob
oa::Fn<void ()>

Returns

void

The declared return value.

oa::SharedPtr<Task<decltype(inFunc())>> oa::ThreadPool::submitTask( F inFunc )
No public source comment is attached to this declaration.

Parameters

inFunc
F

Returns

oa::SharedPtr<Task<decltype(inFunc())>>

The declared return value.

static ThreadPool oa::ThreadPool::create( const ThreadPoolConfig & inConfig = {} )
No public source comment is attached to this declaration.

Parameters

inConfig
const ThreadPoolConfig &

Default: {}

Returns

ThreadPool

The declared return value.