运行在java中执行不同作业的多个线程的正确方法是什么?

use*_*594 1 java multithreading

我正在尝试用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());
    }


}
Run Code Online (Sandbox Code Playgroud)

Mat*_*all 6

不要main在实现Thread或的类中放置方法Runnable.你可以用你当前的Server实现实现你想要的东西,但我没有看到这样做的充分理由.将问题分开,KISS:

  • 一个无聊,简单的类与public static void main(String[] args)方法
  • Server implements Runnable类(一种线程)
  • Calculations implements Runnable类(另一种类型的线程)

使用该main方法的类将启动ServerCalculations线程.