Поскольку мы знаем, что запуск io_service может вызываться во многих потоках, например:
boost::asio::io_service ss;
std::thread th1([&]() {
ss.run();
});
std::thread th2([&]() {
ss.run();
});
Для uv_run, можем ли мы сделать это как io_service?
auto loop = uv_default_loop();
std::thread th1([=]() {
uv_run(loop, UV_RUN_DEFAULT);
});
std::thread th2([=]() {
uv_run(loop, UV_RUN_DEFAULT);
});
Похоже, что uv_run не заблокирован и вызовет ли проблема различных проблем обработать одни и те же события fd?Например:
tcp fd 42
thread1, обрабатывающий событие чтения
thread2, отправляющий событие чтения тоже