34 auto svc = std::make_shared<demo_service>();
38 std::cout <<
"service name = " << (got ? got->name :
"<null>") <<
"\n";
41 auto pool = std::make_shared<thread_pool>(
"svc_pool");
42 std::vector<std::unique_ptr<thread_worker>> workers;
43 workers.push_back(std::make_unique<thread_worker>(
false));
44 if (
auto r = pool->enqueue_batch(std::move(workers)); r.is_err()) {
45 std::cerr << r.error().message <<
"\n";
48 if (
auto r = pool->start(); r.is_err()) {
49 std::cerr << r.error().message <<
"\n";
53 std::atomic<int> count{0};
54 if (
auto r = pool->enqueue(std::make_unique<callback_job>([&count]() -> kcenon::common::VoidResult {
56 return kcenon::common::ok();
58 std::cerr << r.error().message <<
"\n";
61 std::this_thread::sleep_for(std::chrono::milliseconds(50));
62 std::cout <<
"executed jobs = " << count.load() <<
"\n";