35 : submit_status_(std::move(submit_status)) {}
38 for (
auto& thread : threads_) {
39 if (thread.joinable()) {
46 submit_count_.fetch_add(1, std::memory_order_relaxed);
47 if (!submit_status_.has_value()) {
48 return std::unexpected(submit_status_.error());
50 threads_.emplace_back(std::move(task));
54 int submit_count()
const {
return submit_count_.load(std::memory_order_relaxed); }
57 Status submit_status_;
58 std::atomic<int> submit_count_{0};
59 std::vector<std::thread> threads_;