java - Java NIO:多线程共享选择器
问题描述
我想使用最少的线程(多个线程)实现非阻塞的多个 TCP 服务器 - 客户端与单个选择器的通信。利用多任务处理但优化额外开销,因为每个连接都有每个线程。
我想使用必须在几个线程内共享的选择器。主线程将使用 select() 调用来监听准备好的频道。选定的一组键将分配给多个线程以并行通信。
这种设计可行吗?鉴于:
选择器本身对于多个并发线程来说是安全的;但是,它们的键集不是。
解决方案
推荐阅读
- laravel - Laravel 超级菜单循环
- ios - 通过将 KML 文件添加到应用程序来扩大应用程序大小
- android - 我可以在 MacBook 或其他 macOS 设备上下载 AOSP 并编译 Android 操作系统吗?
- python - 计算超出限制的连续行数
- eloquent - 将where条件应用于多态关系laravel 8中的相关模型
- angular - 从没有 HTML 模板的指令中获取 eventEmitter 的值
- r - 在 R Shiny 中,如何将其他用户输入读入函数并绘制结果?
- docker - 将 AWS CLI 凭证作为卷挂载到 docker 容器,但仍然没有引用凭证
- android - 如何使 ViewDragHelper 在隐藏导航栏的活动上工作
- python - tablua.read_pdf 的表格顺序问题