Javaでのyieldキーワードの使い方は何ですか。

Javaにおいて、yieldキーワードの使い方は他のプログラミング言語(例:Python)とは異なります。Javaでは、yieldキーワードは主にマルチスレッドの実行を制御するために使用されます。

yieldキーワードの役割は、現在のスレッドの実行を一時停止し、他のスレッドが実行を続行する機会を与えることです。スレッドがyieldメソッドを呼び出すと、そのスレッドは待機キューに配置され、スケジューラに再スケジュールされるのを待ちます。他のスレッドが実行できない場合、その場合は現在のスレッドが続行されます。

yield キーワードを使用すると、スレッド間の連携と協力が実現できます。CPU の実行権をやることで、マルチスレッドプログラムの効率を向上させることができます。

以下は、yieldキーワードを使用した例です。

public class YieldExample implements Runnable {
    @Override
    public void run() {
        for (int i = 0; i < 5; i++) {
            System.out.println(Thread.currentThread().getName() + ": " + i);
            Thread.yield();
        }
    }

    public static void main(String[] args) {
        YieldExample example = new YieldExample();
        Thread t1 = new Thread(example);
        Thread t2 = new Thread(example);

        t1.start();
        t2.start();
    }
}

上記の例では、私たちは2つのスレッド(t1とt2)を作成し、同じYieldExampleのインスタンスを共有しました。YieldExampleのrunメソッドでは、yieldキーワードを使用して現在のスレッドの実行を一時停止し、他のスレッドに実行を任せます。これにより、t1とt2のスレッドは交互に実行され、各スレッドは5回ずつ出力されます。

bannerAds