Javaで実行中のスレッドを中断する方法は?
スレッドは、スレッドで割り込みを呼び出すことにより、割り込みを送信できます。 中断されるスレッドのオブジェクト。これは、スレッドの中断がinterrupt()を呼び出す他のスレッドによって引き起こされることを意味します メソッド。
Threadクラスは、3つの割り込みメソッドを提供します
- voidinterrupt() -スレッドを中断します。
- static booleaninterrupted() -現在のスレッドが中断されているかどうかをテストします。
- boolean isInterrupted() -スレッドが中断されているかどうかをテストします。
例
public class ThreadInterruptTest {
public static void main(String[] args) {
System.out.println("Thread main started");
final Task task = new Task();
final Thread thread = new Thread(task);
thread.start();
thread.interrupt(); // calling interrupt() method
System.out.println("Main Thread finished");
}
}
class Task implements Runnable {
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("[" + Thread.currentThread().getName() + "] Message " + i);
if(Thread.interrupted()) {
System.out.println("This thread was interruped by someone calling this Thread.interrupt()");
System.out.println("Cancelling task running in thread " + Thread.currentThread().getName());
System.out.println("After Thread.interrupted() call, JVM reset the interrupted value to: " + Thread.interrupted());
break;
}
}
}
} 出力
Thread main started Main Thread finished [Thread-0] Message 0 This thread was interruped by someone calling this Thread.interrupt() Cancelling task running in thread Thread-0 After Thread.interrupted() call, JVM reset the interrupted value to: false
-
JavaでArrayListを初期化する方法
Java Arrays.asList() メソッドと ArrayList クラスは、Javaで配列を初期化するために使用されます。通常の List インターフェイスを使用して配列を作成することはできないため、 ArrayList 空の配列を作成するには、クラスが必要です。 Java Arrays.asList() メソッドを使用すると、結果の配列を簡単に初期化できます。 配列リストの初期化とは、一連の値を配列に割り当てるプロセスを指します。 JavaでArrayListsを操作するには、ArrayListを初期化する方法を知っている必要があります。 ここで、JavaのArrays
-
現在のスレッドを取得する方法はAndroidで中断されていますか?
例に入る前に、スレッドとは何かを知っておく必要があります。スレッドは軽量のサブプロセスであり、UIを中断することなくバックグラウンド操作を実行します。この例は、Androidで現在のスレッドが中断されるようにする方法を示しています。 ステップ1 − Android Studioで新しいプロジェクトを作成し、[ファイル]⇒[新しいプロジェクト]に移動して、新しいプロジェクトを作成するために必要なすべての詳細を入力します。 ステップ2 −次のコードをres / layout/activity_main.xmlに追加します。 <?xml version="1.0" en