Javaで同時に関数を実行する方法


  1. スレッドを使用する方法:
public 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();
    }
}

上記の例では、MyThreadクラスを作成し、runメソッド内に関数の処理内容を記述します。MainクラスでMyThreadのインスタンスを作成し、各スレッドを開始します。これにより、2つの関数が並行して実行されます。

  1. ExecutorServiceを使用する方法:
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() {
                // 関数の処理内容を記述する
            }
        });
        executor.execute(new Runnable() {
            public void run() {
                // 関数の処理内容を記述する
            }
        });
        executor.shutdown();
    }
}

上記の例では、ExecutorServiceを使用してスレッドプールを作成し、指定した数のスレッドで関数を実行します。executeメソッドにRunnableオブジェクトを渡して関数の処理内容を記述します。shutdownメソッドを呼び出して、スレッドプールを終了します。