public static void main(String[] args) {
Thread thread = new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(99999);
}
catch(InterruptedException e) {
System.out.println("I'm interrupted!!");
}
}
});
thread.start();
out.print(thread.isAlive()+" ");
thread.interrupt();
out.print(thread.isAlive()+" ");
}
コンソールは、私は中断してる真真トラブル()メソッド
である理由を私は理解していません!
が、私は結果は私が中断してい
本当だと思います!! true
なぜ私は思っていますか?ありがとう!
スレッドは、同期されていないときはいつでも「並列」で実行されます。 「並行」とは、物事が異なるスレッドで発生する順序についての保証がないことを意味します。あなたの2番目のスレッドは、最初のスレッドが割り込みを行う前に "中断されました"というメッセージを出力することはできません - これは同期の例です - しかし、あなたのプログラムはprintln()呼び出しを許可し、平行_。すなわち、これらの事柄のどれが最初に起こるかの保証はありません。 –