私はJavaでネットワーク関連のプログラムを構築しようとしています。以前のCの経験があります。Cでは、スレッドを実行するときに、スレッドとして実行するメソッドを定義します。Javaで異なるジョブを実行する複数のスレッドを実行する正しい方法は何ですか?
しかし、Javaでは、スレッドは常にメソッドrun()
で実行され、各クラスにその名前のメソッドが1つあります。
少なくとも2つのスレッド、1つの計算用スレッド、1つのスレッドが他のアプリケーションとの通信に使用する必要があります。 (これは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());
}
}
「他のアプリとのコミュニケーション」はどのようなものですか?あなたが意味することに応じて、私はその答えを見たいと思います。 – Marvo
ヒント:スレッドが値を返すか例外をスローする必要がある場合は、RunnableではなくCallableインターフェイスを使用できます。 –