两个buffer存在线程安全问题吧?
来源:7-9 NIO模型实现ChatClient_2

慕粉3458977
2020-06-28
如题,服务端多client场景下,是否需要做一些同步机制呢?
真实的web服务里,可能会空间换时间,维护很多buffer吧?
写回答
1回答
-
Stannum
2020-08-07
同学你好~真实的服务器(比如Tomcat)的架构的确要复杂得多,也会使用一些数据结构来更好的储存和处理客户端发送的请求。但是它们所利用的IO模型仍然是我们课程介绍的这些,比如NIO。NIO核心模型中的轮询线程是单线程处理,并不需要使用多线程。然而,当你需要处理大量的请求时,你当然可以使用多个线程去处理轮询线程分派的任务,以便提高处理效率。如果你看过一些Reactor模式的架构图,就可以看到这种典型的架构设计了。
目前课程的初始版本的主要目的还是让大家先理解最基本的IO模型,其他一切的更复杂的架构都是在基本模型的基础上衍生出来的。在课程的后续更新升级的过程中,我们争取给大家讲解更复杂的IO模型架构,还请你持续关注我们的课程哈~
00
相似问题