栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

每个客户端模型或NIO反应器模式的旧I / O线程?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

每个客户端模型或NIO反应器模式的旧I / O线程?

我不想设计一个复杂的NIO系统,该系统使用多个线程只是为了充分利用所有CPU能力,但是我也想让一个应用程序使用300多个线程。哪种设计最适合我的目的?

我们的JVM连续运行着超过500个线程(现在,它们的数量约为700个),峰值在1000多个。我认为没有理由认为800线程在某种程度上值得“挑战”。当您达到10,000个线程(作为停球数目)时,我会开始担心-
如果您在32位以下运行,可能会更少。当进入1000年代时,您当然将不得不分配更多的内存,但是1k线程以下的任何东西都不应该成为问题。这是有关线程创建编号的好页面。

当您拥有 大量
不经常使用IO的连接时,NIO效率最高。它解决了异步通信方面的许多问题,并且您可以使用NIO做一些事情,从功能的角度来看,“旧IO”无法做到(例如可中断通道和非阻塞IO),但是单线程处理程序是一个更简单的模型,在许多配置中它可以胜过NIO实现,对此我并不感到惊讶。使用NIO,您可以在Java代码中执行很多操作,而这些操作是在JVM中甚至在本机代码中的内核中完成的。流的复用和就绪IO的处理都是使用“旧IO”模型“免费”获得的(就复杂性而言)。

我会保持简单,并坚持使用“每个客户端线程”模式,直到您有充分的理由应对复杂性问题为止。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609926.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号