两个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模型架构,还请你持续关注我们的课程哈~

0
0

系统学习Java网络编程 深度理解BIO/NIO/AIO

对比式学习助你真正理解BIO/NIO/AIO三大网络编程模型。

880 学习 · 148 问题

查看课程