我正在使用 java 进行套接字编程,我正在使用两个动态线程集
首先接受客户端请求...为每个客户端动态创建线程
try (ServerSocket listener = new ServerSocket(1000)) {
while (true) {
Socket socket = listener.accept();
logger.debug(socket.getRemoteSocketAddress().toString() + " Has joined :::");
new ThreadPool(socket).start();
}
}
第二个是接受他们正在发送的客户端数据包并创建新线程来解析客户端数据
public void run() { // this run() in ThreadPool class
while (true) {
new parserThread();//creating new thread for parsing information
}
}
但我的问题是在 24 小时后我的应用程序卡住了,并且没有在控制台中打印任何内容。我不知道为什么它会卡住,但我对我的编码方法几乎没有疑问。告诉我这些是否有可能。
- 在另一个动态线程中创建线程。
- 线程名称分配问题,因为它的增加如下:
549790 [线程 17569]
549791 [线程 17570]
549792 [线程 17571] - Log4j 控制台附加程序问题。