多客户端服务器使用:哪种方法更好

Multi-client server use: which method better

创建多客户端服务器使用扩展 Thread 或在 Java 中实现 Runnable

正在使用

public class Receiver implements Runnable {

public class Receiver extends Thread {

哪个更适合我的代码?

实现 Runnable 总是更好,如果您使用 Runnable,您可以使用线程或线程池执行它

请阅读 "implements Runnable" vs "extends Thread" in Java

了解更多详情

这里有一些链接可以帮助您找到答案

https://www.geeksforgeeks.org/implement-runnable-vs-extend-thread-in-java/ "implements Runnable" vs "extends Thread" in Java

在你的具体情况下,我认为(猜测)你的 Receiver class 不是 Thread (通过OOP) 但 应该在 ThreadPerform Multi-threaded 中工作,这意味着它不应该扩展 Thread (没有 is -a ReceiverThread)

之间的关系

执行器框架

我假设你在写“多客户端服务器”的地方指的是“多线程”。

现代 Java 我们很少手动管理线程。我们现在有了 Executors 框架来处理杂耍线程的细节。所以不需要扩展 Thread.

后台线程上的 运行 任务应写成 RunnableCallable,然后提交给执行程序服务。请参阅 Executors class 以生成执行程序服务。

您会得到一个 Future 对象,可以检查该对象是否正在完成、已取消或仍未完成的任务。

这已在 Stack Overflow 上多次解决。搜索以了解更多信息。