Javaで実行可能なインターフェイス:実装、手順、エラー
公開: 2021-05-02目次
序章
Javaで実行可能なインターフェースは、インスタンスをスレッドとして実行できるインターフェースです。 スレッドを操作している間、実行可能なインターフェースはJavaプログラミング言語のコア要素として機能します。 スレッドを実行するために作成されたJavaクラスは、このインターフェースを実装する必要があります。 この記事では、Javaで実行可能なインターフェースと実装プロセスについて深く理解します。
JavaのRunnableInterfaceとは何ですか?
実行可能なインターフェースは、単一のメソッドを含むインターフェースです。 Javaプログラムは、この単一のメソッドをjava.langパッケージで定義し、スレッドクラスの実行時に呼び出します。 これは、クラスがスレッドを使用して実装できるオブジェクトのテンプレートを提供します。 次のいずれかの方法で、 Javaで実行可能なインターフェースを実装できます。
- サブクラススレッドを使用する
- run()メソッドをオーバーライドする
Javaでは、プログラムでの多重継承は許可されていません。 拡張できるクラスは1つだけであり、スレッドクラスを拡張すると、より多くのメモリ、計算時間、およびその他のリソースを消費します。 したがって、追加のメソッドを使用するオーバーヘッドが追加されます。 上記の2つのオプションのうち、実行可能なインターフェイスを使用してスレッドを作成することをお勧めします。 そのためには、run()メソッドの実装を提供する必要があります。
Javaでランナブルインターフェイスを使用してスレッドを作成する手順
Javaで実行可能なインターフェイスを使用してスレッドを作成するには、次の手順を実行します。
- 実行可能なインターフェースを実装するスレッドクラスを作成します。
- スレッドクラスで、run()メソッドをオーバーライドする関数を記述します。
- Threadクラスのインスタンスを作成します。
- スレッドインスタンスには、実行可能なオブジェクトを受け入れるコンストラクターがあります。 このオブジェクトをパラメータとしてスレッドインスタンスに渡します。
- 最後に、スレッドインスタンスのstartメソッドを呼び出します。
また読む: Javaプロジェクトのアイデアとトピック
Javaでのランナブルインターフェイスの実装
run()メソッドの実装は、新しいスレッドを作成する最も簡単な方法です。 これは、新しいスレッドを作成するための開始点として機能します。 実行可能なインターフェイスの実装では、run()メソッド内のコードを使用して、並行スレッドで実行します。 クラスを呼び出すか、新しい変数を作成するか、run()メソッドでアクションを呼び出して、 Javaでランナブルインターフェイスを実装できます。 プログラムは、コードにreturnステートメントを出力するまで、スレッドが非アクティブであることを確認します。
パブリッククラスTestRunnableInterface{ public static void main(String [] args){ System.out.println( "primary()メソッドから:" + Thread.currentThread()。getName()); System.out.println( " Javaでの実行可能なインターフェースの実装"); Runnableインスタンス=newRunnable(){@Override public void run(){ System.out.println( "from run()メソッド:" + Thread.currentThread()。getName()); } }; System.out.println( "スレッドオブジェクトの新しいインスタンスを作成します。"); スレッドテスト=newThread(instance); System.out.println( "スレッドを実行しています!"); test.start(); } } |
出力
primary()メソッドから:main Javaでの実行可能なインターフェースの実装 スレッドオブジェクトの新しいインスタンスを作成します。 run()メソッドから:Thread-0 |
Javaでランナブルインターフェイスを実装するときに発生したエラー
run()メソッドは、構文エラーまたはコードエラーが原因でプログラムが中断した場合に、ランタイム例外エラーをスローします。 Java仮想マシンがエラーを検出しない場合、作成されたスレッドは、JVMが見逃した例外を処理します。 例外ハンドラは例外を出力し、プログラムを停止します。
インポートjava.io.FileNotFoundException; パブリッククラスTestRunnableInterface{ public static void main(String [] args){ System.out.println( "プライマリスレッドは次のとおりです:" + Thread.currentThread()。getName()); スレッドテスト=newThread(new TestRunnableInterface()。new DemoInstance()); test.start(); } プライベートクラスDemoInstanceはRunnable{を実装します public void run(){ System.out.println(Thread.currentThread()。getName()+“、run()メソッドを呼び出します!”); 試す { 新しいFileNotFoundException();をスローします。 } catch(FileNotFoundExceptionデモ){ System.out.println( "エラーが発生しました!"); demo.printStackTrace(); } } } } |
出力
主なスレッドは次のとおりです。メイン スレッド0、run()メソッドを呼び出します! エラーが発生しました! java.io.FileNotFoundException TestRunnableInterface $ DemoInstance.run(Example.java:21)で java.lang.Thread.run(Thread.java:748)で |
上記のプログラムのTestRunnableInterfaceクラスは、FileNotFoundException例外をスローしません。 Java仮想マシンは、TestRunnableInstanceクラスによって処理されるはずの例外を処理します。
Javaでの実行可能なインターフェイスのユースケース
Javaの実行可能なインターフェースは、サーバーがクライアントから複数の接続要求を受信するネットワークシナリオで使用されます。 Javaの実行可能なインターフェースは、マルチスレッドプログラミングを実行することにより、それを迅速かつ効率的に処理します。
世界のトップ大学からオンラインでソフトウェア開発コースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
結論
一言で言えば、 Javaでスレッドを作成する場合、サブクラススレッドと比較して、 Javaで実行可能なインターフェイスの方が常に優れています。 この記事で使用されているコードは、説明のみを目的としています。 要件に応じて、例に示されているステートメントを変更できます。 この記事では、Javaで実行可能なインターフェースについて学び、Javaで実行可能なインターフェースを実装してスレッドを作成する方法について学びました。
コードを試して、 Javaコンストラクターの知識を強化することができます。 Javaについて深く理解したい場合は、フルスタック開発コースのupGradExecutivePGプログラムを確認してください。 このコースは、働く専門家向けに設計されており、トップ企業との厳格なトレーニングと仕事の支援を提供します。
Javaのマルチスレッドとは何ですか?
マルチスレッドは、タスクが同時に実行されるJavaの概念です。 これにより、プログラムは、単一のタスクが完了するのを待つのではなく、多くの異なるタスクを同時に実行できます。 これは、JavaおよびJava開発者の最も人気のあるトピックの1つです。 マルチスレッドは、Javaの非常に強力な機能の1つです。 複数のスレッドを実行することにより、CPUを効果的に使用します。 Javaには、スレッドと呼ばれる特別な構造があります。 スレッドは基本的に、Javaバイトコード命令の任意のシーケンスを実行できるソフトウェアプロセスです。 各スレッドの実行は、他のスレッドから独立しています。 開発者はいつでも新しいスレッドを作成でき、JVMがこのスレッドの実行を処理します。 これは、拡張性と応答性の高いアプリケーションの開発に役立ちます。
Javaで実行可能なインターフェイスとは何ですか?
実行可能なインターフェイスは、別のスレッドで実行できるアプリケーションを作成するために使用されます。 実行可能なインターフェースを実装するクラスは、スレッドと呼ばれます。 スレッドのコードは、スレッドの開始後にインタプリタによって実行されます。 実行可能なインターフェイスを実装し、独自のマルチスレッドプログラムを作成できます。 このインターフェースを実装する方法は2つあります。 1つ目は、スレッドサブクラスを使用する方法です。 もう1つは、run()メソッドをオーバーライドすることです。