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

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


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

なしでスレッドを作成することもできます 実装 実行可能 インターフェース 以下のプログラムで

public class CreateThreadWithoutImplementRunnable { //
without implements Runnable
   public static void main(String[] args) {
      new Thread(new Runnable() {
         public void run() {
            for (int i=0; i <= 5; i++) {
               System.out.println("run() method of Runnable interface: "+ i);
            }
         }
      }).start();
      for (int j=0; j <= 5; j++) {
         System.out.println("main() method: "+ j);
      }
   }
}

出力

main() method: 0
run() method of Runnable interface: 0
main() method: 1
run() method of Runnable interface: 1
main() method: 2
run() method of Runnable interface: 2
main() method: 3
run() method of Runnable interface: 3
main() method: 4
run() method of Runnable interface: 4
main() method: 5
run() method of Runnable interface: 5

  1. JavaでinvokeLater()メソッドを呼び出すにはどうすればよいですか?

    invokeLater() メソッドは静的です SwingUtilitiesのメソッド クラスであり、タスクを非同期に実行するために使用できます。 AWT イベントディスパッチャスレッド 。 SwingUtilities.invokeLater() メソッドはSwingUtilities.invokeAndWait()のように機能します ただし、リクエストはイベントキューに配置されます そしてすぐに戻る 。 invokeLater() メソッドは、実行可能内のコードのブロックを待機しません ターゲットによって参照されます 実行します。 構文 public static void in

  2. JavaでJPanelのpaintComponent()メソッドを実装するにはどうすればよいですか?

    JPanel は軽量のコンテナであり、見えない コンポーネント Javaで。 JPanelのデフォルトのレイアウトはFlowLayout 。 JPanelを作成したら、他のコンポーネントを JPanelに追加できます。 add()を呼び出してオブジェクトを作成します コンテナから継承されたメソッド クラス。 paintComponent() このメソッドは、 JPanelで何かを描画するために必要です 背景色を描く以外。このメソッドは、 JPanelにすでに存在します スーパーを使用する必要があるようにクラス このメソッドに何かを追加し、グラフィックスを取る宣言 オブジェクト パラメータ