Javaの並行性– join()メソッド
結合関数
この関数は、スレッドの実行の開始を別のスレッドの実行の終了に結合するために使用されます。このようにして、2番目のスレッドの実行が停止するまで最初のスレッドが実行されないことが保証されます。この関数は、スレッドが終了するまで特定のミリ秒数待機します。
例を見てみましょう-
例
import java.lang.*; public class Demo implements Runnable{ public void run(){ Thread my_t = Thread.currentThread(); System.out.println("The name of the current thread is " + my_t.getName()); System.out.println("Is the current thread alive? " + my_t.isAlive()); } public static void main(String args[]) throws Exception{ Thread my_t = new Thread(new Demo()); System.out.println("The instance has been created and started"); my_t.start(); my_t.join(30); System.out.println("The threads will be joined after 30 milli seconds"); System.out.println("The name of the current thread is " + my_t.getName()); System.out.println("Is the current thread alive? " + my_t.isAlive()); } }
出力
The instance has been created and started The threads will be joined after 30 milli seconds The name of the current thread is Thread-0 The name of the current thread is Thread-0 Is the current thread alive? true Is the current thread alive? true
Demoという名前のクラスは、Runnableクラスを実装します。現在のスレッドを新しく作成されたスレッドとして割り当てる「実行」関数が定義されています。 main関数では、スレッドの新しいインスタンスが作成され、「start」関数を使用して開始されます。このスレッドは、特定の時間が経過すると別のスレッドと結合されます。関連するメッセージが画面に表示されます。
-
JavaでのisDaemon()メソッドの重要性?
デーモンスレッドは優先度の低いスレッドです バックグラウンドで実行され、ほとんどがガベージコレクション(GC)などのバックグラウンドタスクを実行するためにJVMによって作成されるJavaで。 ユーザースレッドが実行されていない場合、デーモンスレッドが実行されていても、JVMは終了できます。デーモンスレッドの唯一の目的は、ユーザースレッドにサービスを提供することです。 isDaemon() メソッドを使用して、スレッドがデーモンスレッドであるかどうかを判断できます。 構文 Public boolean isDaemon() 例 class SampleThread implements R
-
Java8でのインターフェースの機能強化
Java 8では、インターフェースにデフォルトのメソッド実装の新しい概念が導入されています。この機能は下位互換性のために追加されているため、古いインターフェースを使用してJava8のラムダ式機能を活用できます。 たとえば、「List」または「Collection」インターフェースには「forEach」メソッド宣言がありません。したがって、このようなメソッドを追加すると、コレクションフレームワークの実装が壊れてしまいます。 Java 8ではデフォルトのメソッドが導入されているため、List / CollectionインターフェースはforEachメソッドのデフォルトの実装を持つことができ、これ