Javaで複数のメソッドを並行して実行する方法は?
Javaで複数のメソッドを並列に実行するための方法はいくつかあります。以下は一般的ないくつかの方法です:
- 複数のスレッドを作成し、各メソッドを異なるスレッドに配置して実行することができます。スレッドを作成するには、Threadクラスを使用するか、Runnableインターフェースを実装し、start()メソッドを使用してスレッドを起動します。
Thread thread1 = new Thread(new Runnable() {
public void run() {
// 执行方法1的代码
}
});
Thread thread2 = new Thread(new Runnable() {
public void run() {
// 执行方法2的代码
}
});
thread1.start();
thread2.start();
- スレッドプールを使用すると、複数のメソッドを並行して実行するためにjava.util.concurrentパッケージ内のスレッドプールを使用できます。スレッドプールを作成し、それぞれのメソッドをRunnableオブジェクトにラップして、スレッドプールに提出して実行させます。
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(new Runnable() {
public void run() {
// 执行方法1的代码
}
});
executor.submit(new Runnable() {
public void run() {
// 执行方法2的代码
}
});
executor.shutdown();
- Java 8 で導入された CompletableFuture クラスを利用する:CompletableFuture クラスは、複数のメソッドを並行して実行する便利な方法を提供します。supplyAsync() メソッドを使ってメソッドを実行し、thenAccept() メソッドを使って次のメソッドの実行を指定することができます。
CompletableFuture<Void> future1 = CompletableFuture.runAsync(() -> {
// 执行方法1的代码
});
CompletableFuture<Void> future2 = future1.thenRun(() -> {
// 执行方法2的代码
});
future2.join();
これらは一般的な方法であり、複数の方法を並行して実行する方法です。特定の要求やシナリオに応じて、適切な方法を選択して並行実行を実現してください。