線程溝通工作是如何在Web應用程序和簡單的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三是扔秀法算術異常。 但是,如果我們調用顯示()之前,以顯示()。然後程序生成display()的輸出以及拋出Arithmetic異常。並且輸出順序正在改變。 所以我的問題是,爲什麼當會調用顯示之前顯示()顯示()方法的輸出不來(?)。
根據以下線路異常拋出之後,所以如果線程1是引發異常,然後其他線程兩個紗線不應該執行進一步的代碼不應該執行異常的概念。
線程獨立運行。爲什麼一個線程拋出異常會導致其他線程停止? –