Exemple #1
0
        void io_looper::start(service_node* node, int worker_count)
        {
            create_completion_queue();
            for (int i = 0; i < worker_count; i++)
            {
                std::thread* thr = new std::thread([this, node, i]()
                {
                    task::set_tls_dsn_context(node, nullptr, nullptr);

                    const char* name = node ? ::dsn::tools::get_service_node_name(node) : "glb";
                    char buffer[128];
                    sprintf(buffer, "%s.io-loop.%d", name, i);
                    task_worker::set_name(buffer);
                    
                    this->loop_worker(); 
                });
                _workers.push_back(thr);
            }
        }
 void io_looper_task_queue::start(service_node* node, int worker_count)
 {
     create_completion_queue();
 }