Javaのスレッドが割り込み方法で割り込みを受ける前に、準備状態にする必要がありますか? 私はこれを以下の上記のコードを入力して確認しようとしました。コードに応じてスレッドは中断される前にRUNNABLE状態にする必要がありますか?
class MyThread extends Thread
{
public void run() {
try
{
for(int i =0;i<10;i++) {
System.out.println("I am lazy thread");
Thread.sleep(2000);
}
}
catch(InterruptedException e) {
System.out.println("I got interrupted");
}
}
}
public class SleepAndInterruptDemonstrationByDurga {
public static void main(String[] args) {
MyThread t= new MyThread();
t.start();
t.interrupt();
System.out.println("End of main thread");
}
}
も、常にしようとした後、1以下だった私が得たものを出力何回
End of main thread
I am lazy thread
I got interrupted
できないのはなぜ出力が
I am lazy thread
I got interrupted
End of main thread
なること割り込みメソッドがメインスレッドによって最初に呼び出されることがわかります。最終的に私はスレッドが開始される前に割り込み呼び出しが最初に実行されたときに何らかの状況が発生する可能性があることを尋ねたいと思います。ここでは何が起こる
に呼ばれたことを示しRUNNABLE状態であります睡眠前の準備状態が呼び出される。割り込み状態に入る前に、スレッドはスリープ状態になっていなければなりません。スレッドが中断されるのを一時的に待つためには、スレッドは最初に準備完了状態になっていなければなりません。ではない? –
@Deep:その良いですか? –
はまた、子スレッドが最初のスレッドは、それが実行されている必要があり、割り込みの状態に基づいて行動するためのコード –