スレッド通信の仕組みはWebアプリケーションとSimple javaプログラムでどのように違いますか。下記の質問に私を案内してください。文を間違えて無視してください。スレッド通信単純なJavaプログラムとJava Webアプリケーション
は、私は、単純なJavaクラスのプログラム上
package com.scjp.chapter.Exception;
public class ThreadException extends Thread{
public void run(){
show();
display();
}
private void display() {
System.out.println(ThreadException.currentThread().getName() + " Display");
}
private void show() {
int i = 10/0;
System.out.println(i);
}
public static void main(String[] args) {
ThreadException thread1 = new ThreadException();
ThreadException thread2 = new ThreadException();
ThreadException thread3= new ThreadException();
thread1.setName("thread1");
thread2.setName("thread2");
thread3.setName("thread3");
thread1.start();
thread2.start();
thread3.start();
}
}
がcontent.All 3は、showメソッド算術例外をスローして表示され印刷されませんがあるとします。 しかし、show()を先に呼び出してshow()を呼び出すと、次に、プログラムはdisplay()の出力を生成しているだけでなく、算術例外もスローします。出力順序も変化しています。 私の質問はdisplay()の前にshow()を呼び出すときにdisplay()メソッドの出力が来ない理由です。
以下のExceptionコンセプトによれば、例外がスローされた後に行が実行されるべきではないため、スレッド1が例外をスローした場合、他のスレッド2スレッドはさらなるコードを実行しません。
スレッドは独立して実行されます。なぜ、あるスレッドが例外をスローすると他のスレッドが停止するのでしょうか? –