gpt4 book ai didi

java - 编写 Java 服务器来处理多个并发客户端

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:07 25 4
gpt4 key购买 nike

在构建同时处理多个客户端的 Java 服务器方面,我需要一些建议。客户端需要在相当长的时间内保持连接。我目前正在使用阻塞 IO 并生成一个线程以从连接到服务器的每个客户端读取数据,但这显然不可扩展。

我找到了几个选项,包括使用具有固定大小线程池的选择器或执行器。我对其中任何一个都不太熟悉,那么哪个是最好的解决方案?谢谢!

最佳答案

这取决于您对可扩展性的定义。您所描述的每个连接一个线程的系统可以扩展到数百个甚至几千个并发连接,它会在某个时候碰壁。

你的问题是说你的客户端连接并保持连接很长一段时间,有可能有一个单独的 IO 线程来处理读写,但是请求的处理分派(dispatch)给另一个线程使用执行者。

已经编写了一些框架/服务器来处理这种事件驱动的设计。看看:

值得注意的是,世界上到处都是失败的初创公司和具有真正可扩展架构的软件产品。扩展是一个很好的问题,有问题总比没有问题和没有客户要好。

关于java - 编写 Java 服务器来处理多个并发客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5614589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com