怎样均衡的分配tcp长connection给多个线程

如果你真的需要“如何让100个连接均衡的分布在8个工作线程”,那就直接 muduo::net::TcpServer::setThreadNum(8),例如 muduo/examples/sudoku/http://server_multiloop.cc 。也可以考虑用一个 EventLoop 处理全部 100 个 TcpConnection 的 IO,再用 ThreadPool 计算,例如 muduo/examples/sudoku/http://server_threadpool.cc
■网友
你可以看一下,云风的skynet是怎么做的。
■网友
也就是说,linux下线程和进程一起调度
■网友
做几个worker线程,内部有一个队列,把连接socket封装到一个task里面,然后把task 推给队列最短的worker的队列,然后给worker发个信号worker线主循环 等在信号上,激活后,从队列获取数据,直到队列空队列查询 插入 删除 需要加锁检测为空把信号清空,需要加锁队列这样基本就可以了


    推荐阅读