nothingistrue
2022-04-19 09:51:32 +08:00
你的标题是对的,但你下面说得谬论好些不是谬论。
1. 抛开剂量来说影响,那是耍流氓,线程切换的消耗跟线程的数量,是指数对比,200 个线程你看不出来区别,但是一千一万呢,不要说物联网服务器,就是面向公众的普通 Web 服务,那都是一万起步的。
2. 请参见一,在 tomcat 改成 NIO 之前,它要么只应用在不到百人的企业内部,要么躲在 IIS/Apache 后面,压根不会直接面向公众(早期确实有不负责任的人那 tomcat 当前台服务器的页游,那响应速度是相当感人的)。
3. 这么貌似确实是谬论,我也没看懂。Netty 本质上只是对 Java nio 的易用性封装,并没有动 NIO 的原理。至于你的阻塞疑问,IO ,不管是本地 IO 还是网络 IO ,并不是总是在传输的,他经常是在等待输入源 /输出目的可用的等待过程,这期间它是不工作的,这个时候,如果是 BIO ,不管是否工作它都要占用线程,如果是 NIO ,不工作期间是不占用线程的。