Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaでスレッドを強制終了する


public class Main{
   static volatile boolean exit = false;
   public static void main(String[] args){
      System.out.println("Starting the main thread");
      new Thread(){
         public void run(){
            System.out.println("Starting the inner thread");
            while (!exit){
            }
            System.out.println("Exiting the inner thread");
         }
      }.start();
      try{
         Thread.sleep(100);
      }
      catch (InterruptedException e){
         System.out.println("Exception caught :" + e);
      }
      exit = true;
      System.out.println("Exiting main thread");
   }
}

出力

Starting the main thread
Starting the inner thread
Exiting main thread
Exiting the inner thread

メインクラスは新しいスレッドを作成し、そのスレッドで「run」関数を呼び出します。ここでは、「exit」という名前のブール値が定義されており、最初はfalseに設定されています。 whileループの外側では、「start」関数が呼び出されます。 tryブロックでは、新しく作成されたスレッドが特定の時間スリープし、その後例外がキャッチされ、関連するメッセージが画面に表示されます。この後、exitの値が「true」に設定されるため、メインスレッドは終了します。


  1. JavaでRunnableインターフェースを実装せずにスレッドを作成するにはどうすればよいですか?

    スレッドは軽量と呼ぶことができます 処理する。 Javaはマルチスレッドをサポートしています 、したがって、アプリケーションは2つ以上のタスクを同時に実行できます 。すべてのJavaプログラムには、メインスレッドと呼ばれるスレッドが少なくとも1つあります。 、 Java仮想マシン(JVM)によって作成されます main()がプログラム開始時に メソッドはメインスレッドで呼び出されます。 Javaでスレッドを作成するには、Threadクラスを拡張するという2つの方法があります。 または、Runnableインターフェースを実装する。 なしでスレッドを作成することもできます 実装 実行可能 イ

  2. Javaで匿名クラスを使用してスレッドを作成するにはどうすればよいですか?

    スレッド プログラムの他の部分と同時に実行できる機能です。すべてのJavaプログラムには、 Java仮想マシン(JVM)によって作成されるメインスレッドと呼ばれるスレッドが少なくとも1つあります。 main()がプログラム開始時に メソッドはメインスレッドで呼び出されます。 Javaでは、スレッドを拡張することでスレッドを作成できます。 クラス またはRunnableインターフェースを実装する 。 匿名を使用してスレッドを作成することもできます クラススレッドクラスを拡張せずに 以下のプログラムで。 例 public class AnonymousThreadTest {   &