Javaで実行可能なインターフェイス:実装、手順、エラー

公開: 2021-05-02

目次

序章

Javaで実行可能インターフェースは、インスタンスをスレッドとして実行できるインターフェースです。 スレッドを操作している間、実行可能なインターフェースはJavaプログラミング言語のコア要素として機能します。 スレッドを実行するために作成されたJavaクラスは、このインターフェースを実装する必要があります。 この記事では、Javaで実行可能なインターフェースと実装プロセスについて深く理解します。

JavaのRunnableInterfaceとは何ですか?

実行可能なインターフェースは、単一のメソッドを含むインターフェースです。 Javaプログラムは、この単一のメソッドをjava.langパッケージで定義し、スレッドクラスの実行時に呼び出します。 これは、クラスがスレッドを使用して実装できるオブジェクトのテンプレートを提供します。 次のいずれかの方法で、 Javaで実行可能なインターフェースを実装できます。

  • サブクラススレッドを使用する
  • run()メソッドをオーバーライドする

Javaでは、プログラムでの多重継承は許可されていません。 拡張できるクラスは1つだけであり、スレッドクラスを拡張すると、より多くのメモリ、計算時間、およびその他のリソースを消費します。 したがって、追加のメソッドを使用するオーバーヘッドが追加されます。 上記の2つのオプションのうち、実行可能なインターフェイスを使用してスレッドを作成することをお勧めします。 そのためには、run()メソッドの実装を提供する必要があります。

Javaでランナブルインターフェイスを使用してスレッドを作成する手順

Javaで実行可能なインターフェイスを使用してスレッドを作成するには、次の手順を実行します

  1. 実行可能なインターフェースを実装するスレッドクラスを作成します。
  2. スレッドクラスで、run()メソッドをオーバーライドする関数を記述します。
  3. Threadクラスのインスタンスを作成します。
  4. スレッドインスタンスには、実行可能なオブジェクトを受け入れるコンストラクターがあります。 このオブジェクトをパラメータとしてスレッドインスタンスに渡します。
  5. 最後に、スレッドインスタンスの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()メソッドをオーバーライドすることです。

マルチスレッドは実際にどのように機能しますか?