我使用 Java 实现了一个系统来处理 500 个套接字连接,每个连接都在自己的线程中。因此,当所有连接都处于活动状态时,我有 500 个线程正在运行。
配备 8 GB RAM 的服务器英特尔® 至强® 处理器 E5620 是否足以处理所有这些线程?
答案是肯定的还是否定的,我该如何计算成本?
示例代码:
Executor executor = Executors.newFixedThreadPool(500);
ServerSocket serverSocket = null;
Socket socket;
try {
serverSocket = new ServerSocket(port);
} catch (IOException e) {
e.printStackTrace();
}
while (true) {
try {
if (serverSocket != null) {
socket = serverSocket.accept();
} else {
continue;
}
SocketClient client = new SocketClient(socket);//socket client is responsible for handling string values that will be read from socket, and insert values to the DB
executor.execute(client);
} catch (IOException e) {
connectedDevices.remove("Unknown" + i);
}
}
谢谢。