Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java UDP服务器-何时需要多线程_Java_Multithreading_Udp - Fatal编程技术网

Java UDP服务器-何时需要多线程

Java UDP服务器-何时需要多线程,java,multithreading,udp,Java,Multithreading,Udp,在哪些情况下,我需要在java中编写UDP服务器时使用treads,在哪些情况下不需要使用treads?当请求非常重要时,您需要线程 例如,一个回音、日期或当天的消息服务器几乎可以即时生成响应,因此它不需要线程 另一方面,DNS服务器可能必须委托请求,并且在委托过程中不能让其他客户端等待,因此它需要线程、select或异步I/O。如果要同时处理多个客户端请求,即高吞吐量,则需要线程。假设对于每个传入的UDP请求,您需要访问数据库并向另一个服务发送信号。如果您在同一个线程中执行所有操作,此处理可能

在哪些情况下,我需要在java中编写UDP服务器时使用treads,在哪些情况下不需要使用treads?

当请求非常重要时,您需要线程

例如,一个回音、日期或当天的消息服务器几乎可以即时生成响应,因此它不需要线程


另一方面,DNS服务器可能必须委托请求,并且在委托过程中不能让其他客户端等待,因此它需要线程、select或异步I/O。

如果要同时处理多个客户端请求,即高吞吐量,则需要线程。假设对于每个传入的UDP请求,您需要访问数据库并向另一个服务发送信号。如果您在同一个线程中执行所有操作,此处理可能需要很长时间,并且可能会阻止新请求,从而影响性能。使用多线程方法,每个传入的DatagramPacket在接收到后将立即发送给一个线程,该线程与其他请求并行处理。

是否需要向多个接收者广播?因为它与一般的广播或发送无关。它是关于如何处理入站请求的。