Javaはどのように並行処理を実現しますか?

Javaでは、複数スレッドを使用して並行処理を実現することができます。ここには、一般的な並行処理方法のいくつかが挙げられています:

  1. Threadクラスを使用する: Threadクラスを継承した子クラスを作成し、run()メソッドをオーバーライドしてスレッドの実行ロジックを定義します。そして、複数のスレッドインスタンスを作成し、start()メソッドを呼び出してスレッドを開始します。
class MyThread extends Thread {
    public void run() {
        // 线程执行逻辑
    }
}

public class Main {
    public static void main(String[] args) {
        MyThread thread1 = new MyThread();
        MyThread thread2 = new MyThread();

        thread1.start();
        thread2.start();
    }
}
  1. Runnableインターフェースを使用する:Runnableインターフェースを実装したクラスを作成し、run()メソッドをオーバーライドしてスレッドの実行ロジックを定義します。その後、複数のRunnableインスタンスを作成し、それらをThreadクラスのコンストラクタにパラメータとして渡します。
class MyRunnable implements Runnable {
    public void run() {
        // 线程执行逻辑
    }
}

public class Main {
    public static void main(String[] args) {
        MyRunnable runnable1 = new MyRunnable();
        MyRunnable runnable2 = new MyRunnable();

        Thread thread1 = new Thread(runnable1);
        Thread thread2 = new Thread(runnable2);

        thread1.start();
        thread2.start();
    }
}
  1. スレッドプールの利用:Executorフレームワークを使用してスレッドプールを作成し、複数のタスクを管理して実行します。 スレッドプールはスレッドを再利用し、効率を向上させます。
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

public class Main {
    public static void main(String[] args) {
        ExecutorService executor = Executors.newFixedThreadPool(2);

        executor.execute(new Runnable() {
            public void run() {
                // 任务1执行逻辑
            }
        });

        executor.execute(new Runnable() {
            public void run() {
                // 任务2执行逻辑
            }
        });

        executor.shutdown();
    }
}

これらは一般的な並行処理の実装方法の3つであり、具体的な要件やシーンに応じて最適な方法を選択してください。また、ロック、条件変数、セマフォなどのより高度な並行制御ツールや技術もありますので、必要に応じてさらに学習や活用を行うことができます。

bannerAds