oa::ThreadPoolConfig

oa::ThreadPool — work-stealing thread pool with CPU affinity. Workers each own a bounded channel. submit() round-robins jobs. When a worker's own queue is empty, it steals from siblings. Optional CPU pinning via oa::CpuTopology (P-cores preferred). usage: auto pool = oa::ThreadPool::create(); // auto-detect cores pool.submit([] { doWork(); }); // fire-and-forget auto t = pool.submitTask([] { return 42; }); // get future auto val = t->wait(); // blocks, returns 42 pool.shutdown(); // drains and waits explicitly

Public Data Members

coreIdsVectorfield
numWorkersoa::I32field
pinToCoresoa::Boolfield
useTopologyoa::Boolfield