| 21 | } |
| 22 | |
| 23 | void AsyncWorkerSet::add_worker(const std::string& name, const Task& task) { |
| 24 | check_exception(); |
| 25 | |
| 26 | m_worker_init_finished.store(false); |
| 27 | m_worker_threads.emplace_back( |
| 28 | &AsyncWorkerSet::worker_impl_wrapper, this, &name, &task); |
| 29 | while (!m_worker_init_finished.load()) |
| 30 | std::this_thread::yield(); |
| 31 | } |
| 32 | |
| 33 | void AsyncWorkerSet::start() { |
| 34 | check_exception(); |