首页 > 解决方案 > Java NIO:多线程共享选择器

问题描述

我想使用最少的线程(多个线程)实现非阻塞的多个 TCP 服务器 - 客户端与单个选择器的通信。利用多任务处理但优化额外开销,因为每个连接都有每个线程。

我想使用必须在几个线程内共享的选择器。主线程将使用 select() 调用来监听准备好的频道。选定的一组键将分配给多个线程以并行通信。

这种设计可行吗?鉴于:

选择器本身对于多个并发线程来说是安全的;但是,它们的键集不是。

标签: javamultithreadingperformanceselectornio

解决方案


推荐阅读