Tre*_*vor 0 java multithreading udp
我有一个简单的UDP服务器,它创建一个新的线程来处理传入的数据.在通过发送大约100个包/秒进行测试时,我注意到它的内存使用量继续增加.我的代码下面是否有明显的泄漏?
这是服务器的代码.
public class UDPServer
{
public static void main(String[] args)
{
UDPServer server = new UDPServer(15001);
server.start();
}
private int port;
public UDPServer(int port)
{
this.port = port;
}
public void start()
{
try
{
DatagramSocket ss = new DatagramSocket(this.port);
while(true)
{
byte[] data = new byte[1412];
DatagramPacket receivePacket = new DatagramPacket(data, data.length);
ss.receive(receivePacket);
new DataHandler(receivePacket.getData()).start();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是处理数据的新线程的代码.目前,run()方法不执行任何操作.
public class DataHandler extends Thread
{
private byte[] data;
public DataHandler(byte[] data)
{
this.data = data;
}
@Override
public void run()
{
System.out.println("run");
}
}
Run Code Online (Sandbox Code Playgroud)