Java 7 でスレッド プールを使用してマルチスレッド タスクの戻り結果を処理する方法
Java アプリケーションを開発する場合、多くの場合、マルチスレッド タスクを処理してスレッドの戻り結果を取得する必要があります。スレッド プールを使用すると、スレッド リソースをより適切に管理し、マルチスレッド タスクの返された結果を処理できるようになります。この記事では、スレッド プールを使用して Java 7 のマルチスレッド タスクの戻り結果を処理する方法を紹介し、コード例を示します。
スレッド プールは、スレッド リソースを管理および再利用するためのメカニズムです。スレッド プールを使用すると、スレッドを開始するたびに新しいスレッドを作成するのではなく、必要なときにスレッドを作成できます。スレッド プールにより、アプリケーションのパフォーマンスが向上し、スレッドの作成と破棄のオーバーヘッドが削減されます。
Java 7 では、Executors
クラスを使用してスレッド プールを作成できます。以下は、スレッド プールを作成するサンプル コードです。
ExecutorService executor = Executors.newFixedThreadPool(10);
上記のコードは、10 個のスレッドを含むスレッド プールを作成します。次に、スレッド プールを使用してマルチスレッド タスクを実行し、スレッドの戻り結果を取得します。
タスクのリストがあり、それぞれが独立したスレッドで実行する必要があり、実行結果が返されるとします。以下はタスク クラスの例です。
public class Task implements Callable<String> { private String name; public Task(String name) { this.name = name; } @Override public String call() throws Exception { // 执行任务的代码 Thread.sleep(1000); return "Task " + name + " has been completed"; } }
上記のコードでは、Task
クラスは Callable
インターフェイスを実装し、戻り結果のタイプを として指定します。弦###。
call()メソッドには、実行されるタスクのコードが含まれています。この例では、スレッドは単に 1 秒間スリープして文字列を返します。
public class Main { public static void main(String[] args) { ExecutorService executor = Executors.newFixedThreadPool(10); List<Future<String>> results = new ArrayList<>(); for (int i = 0; i < 10; i++) { Task task = new Task("Task " + i); results.add(executor.submit(task)); } executor.shutdown(); for (Future<String> result : results) { try { System.out.println(result.get()); } catch (InterruptedException | ExecutionException e) { e.printStackTrace(); } } } }上記のコードでは、最初にスレッド プールが作成され、次に ## を格納するための
ArrayList が作成されます。 #Future
Objects、これらのオブジェクトはスレッド タスクのステータスと結果を表します。 次に、ループを通じて 10 個の
インスタンスが作成され、スレッド プールに送信され、Future
オブジェクトが結果リストに追加されます。 次に、スレッド プールの
メソッドを呼び出して、スレッド プールをシャットダウンします。 最後に、別のループを通じて結果リストを走査し、
オブジェクトの get()
メソッドを使用してスレッドの戻り結果を取得し、結果。 上記のコードを実行すると、次のような出力が得られます。
Task 0 has been completed Task 1 has been completed Task 2 has been completed Task 3 has been completed Task 4 has been completed Task 5 has been completed Task 6 has been completed Task 7 has been completed Task 8 has been completed Task 9 has been completed
上記のコードは、スレッド プールを使用してマルチスレッド タスクの返された結果を処理する方法を示しています。スレッド プールを使用すると、スレッド リソースをより適切に管理し、スレッドの戻り結果を簡単に取得できます。
この記事の例では、Java 7 のスレッド プールと関連クラスが使用されていることに注意してください。 Java 8 では、より強力で柔軟なスレッド プールと同時実行ユーティリティ クラスが導入されました。 Java 8 以降で開発している場合は、Java 8 の同時実行ツール クラスを使用して、マルチスレッド タスクの返された結果を処理することをお勧めします。
以上がJava 7 でスレッド プールを使用してマルチスレッド タスクの戻り結果を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)
