我正在尝试用 Java 构建一个与网络相关的程序。我以前有使用 C 的经验。在 C 中,当你运行线程时,你定义了你希望它作为线程运行的方法。
但是,在 Java 中,似乎线程总是使用 run()
方法运行,并且每个类中可以有 1 个具有该名称的方法。
我希望至少有 2 个线程,一个线程用于计算,一个线程用于与其他应用程序通信。 (即使这可以用 1 个线程完成,我只是想知道运行 2 个执行完全不同工作的线程的正确方法是什么)
下面只是我如何实现线程的示例代码。如果由以下代码生成的线程进行通信,那么创建另一个进行计算的线程的好方法是什么?
public class Server implements Runnable{
static Thread myThread;
public void run() {
// TODO Auto-generated method stub
}
public static void main(String[] args) {
myThread = new Thread(new Server());
}
}
最佳答案
不要在实现Thread
或Runnable
的类中放置main
方法。您可以使用当前的Server
实现来实现您想要的,但我没有看到这样做的充分理由。分离出关注点,然后 KISS:
- 一个无聊、简单的类,带有一个
public static void main(String[] args)
方法 - 一个
Server实现Runnable
类(一种线程) - 一个
Calculations实现Runnable
类(另一种类型的线程)
具有main
方法的类将启动Server
和Calculations
线程。
关于java - 在 Java 中运行执行不同工作的多个线程的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6878574/