【发布时间】:2015-03-24 17:35:24
【问题描述】:
我有多线程 Java 应用程序。我想知道这种方法是否正确。从我的主要方法中,我将启动两个线程。一个线程开始监听即将到来的客户端连接(这是一个客户端-服务器应用程序)。一旦客户端与服务器连接,它就会启动一个新线程来处理客户端,并且对于所有客户端连接都将继续。由主程序启动的另一个线程处理客户端收到的消息,这些消息在一个公共缓冲区中。
我的问题是: 主线程启动一个线程(服务器),该线程又启动许多线程。这是正确的吗?
【问题讨论】:
-
请始终包含您自己代码的相关部分。
-
为每个新连接启动一个线程适用于少量连接,但扩展性很差。我建议你尝试使用 ThreadPool 来处理打开的连接,这样效率会更高。
标签: java multithreading