Java スレッド非同期プログラミングは、submit() メソッドを使用して非同期スレッドを作成し、get() メソッドを使用してタスクの結果を取得することによって実装されます。利点としては、アプリケーションのパフォーマンスの向上、同時実行性の向上、応答性の向上などが挙げられます。
Java スレッド非同期プログラミングの実践
はじめに
非同期プログラミングは Aプログラムが結果を待たずに実行を継続できるようにするプログラミング パラダイム。 Java では、スレッドを使用して非同期プログラミングを実装できます。
非同期スレッドの作成
非同期スレッドを作成するには、ExecutorService
インターフェイスとその submit()## を使用できます。 #メソッド:
ExecutorService executor = Executors.newFixedThreadPool(10); Future<String> future = executor.submit(() -> { // 异步任务 return "任务结果"; });
submit() このメソッドは、非同期タスクの結果を表す
Future オブジェクトを返します。
非同期タスクの結果を取得する
Future オブジェクトの
get() メソッドを使用して、非同期タスクの結果:
String result = future.get();
get() メソッドは、非同期タスクが完了するまでスレッドをブロックします。
実際のケース
非同期ファイル処理
複数行のテキストを含むファイルがあり、次のことを行う必要があるとします。一行ずつ対処してください。非同期スレッドを使用して、ファイル内の各行を並行して処理できます。ExecutorService executor = Executors.newFixedThreadPool(10); try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) { List<Future<String>> futures = new ArrayList<>(); String line; while ((line = reader.readLine()) != null) { futures.add(executor.submit(() -> { // 处理每一行 return line.toUpperCase(); })); } List<String> results = new ArrayList<>(); for (Future<String> future : futures) { results.add(future.get()); } }
BufferedReader を使用してファイル内の各行を読み取ります。行ごとに、行を処理する非同期タスクを作成します。次に、
get() メソッドを使用して各タスクの結果を取得します。
利点
以上がJava スレッド非同期プログラミングの実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。