Java でコードを並行実行する方法

Javaのマルチスレッドを使用してコードを並列実行できます。並列コードを実現する方法は次のとおりです。

  1. Threadクラスを使う:複数のThreadオブジェクトを作成し、並列実行したいコードをrunメソッドに記述する。そしてstartメソッドでスレッドを実行状態にして並列実行を行う。
Thread thread1 = new Thread(() -> {
    // 并行执行的代码
});
Thread thread2 = new Thread(() -> {
    // 并行执行的代码
});

thread1.start();
thread2.start();
  1. またExecutorServiceを使えます。ExecutorServiceオブジェクトを作成し、サブミットメソッドを使用して、並列実行する必要があるコードをRunnableオブジェクトにラップしてExecutorServiceにサブミットします。ExecutorServiceは自動的にスレッドの作成と破棄を管理し、サブミットしたタスクを並列実行します。
ExecutorService executorService = Executors.newFixedThreadPool(2);

executorService.submit(() -> {
    // 并行执行的代码
});

executorService.submit(() -> {
    // 并行执行的代码
});

executorService.shutdown();  // 关闭ExecutorService
  1. フォーク/ジョインフレームワークを利用する:フォーク/ジョインフレームワークは、並列コンピューティング向けのJavaが提供する仕組みです。タスクをより小さなサブタスクに分割し、サブタスクを別々のスレッドに割り当てて実行します。フォーク/ジョインフレームワークを使用することで、コードの並列実行を容易に実現できます。
class MyTask extends RecursiveAction {
    @Override
    protected void compute() {
        // 并行执行的代码
    }
}

ForkJoinPool forkJoinPool = new ForkJoinPool();
MyTask myTask = new MyTask();

forkJoinPool.invoke(myTask);

Javaコードを並列実行する一般的な手法のいくつかを以下に示します。実際のニーズに基づいて、コードの並列化を実現するための適切な手法を選択してください。

bannerAds