Javaでマルチスレッドを実装する方法

WBOY
リリース: 2023-04-19 20:16:05
転載
581 人が閲覧しました

1. スレッドを作成するラムダ式

ラムダ フォームを使用してスレッド タスク クラスをインスタンス化し、スレッド オブジェクトを作成し、スレッド タスク クラスをコンストラクター パラメーターとして渡します。

package com.kingh.thread.create;
 
/**
 * 创建线程with lambda
 *
 * @author <a href="https://blog.csdn.net/king_kgh>Kingh</a>
 * @version 1.0
 * @date 2019/3/18 10:04
 */
public class CreateThreadDemo5_Lambda {
 
    public static void main(String[] args) throws Exception {
        // 使用lambda的形式实例化线程任务类
        Runnable task = () -> {
            while (true) {
                // 输出线程的名字
                printThreadInfo();
            }
        };
 
        // 创建线程对象,并将线程任务类作为构造方法参数传入
        new Thread(task).start();
 
        // 主线程的任务,为了演示多个线程一起执行
        while (true) {
            printThreadInfo();
            Thread.sleep(1000);
        }
    }
 
    /**
     * 输出当前线程的信息
     */
    private static void printThreadInfo() {
        System.out.println("当前运行的线程名为: " + Thread.currentThread().getName());
        try {
            Thread.sleep(1000);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }
}
ログイン後にコピー

2. ExecutorService、Callable、Future を使用して結果を返すマルチスレッドを実装する

値を返すことができるタスクは Callable インターフェイスである必要があります。 、戻り値はありません。タスクは Runnable インターフェイスである必要があります。 Callable タスクを実行した後、Future オブジェクトを取得できます。get を呼び出すことで、Callable タスクによって返されたオブジェクトを取得できます。その後、スレッド プール インターフェイス ExecutorService と組み合わせることで、結果を返す伝説的なマルチスレッドを実装できます。

rree

以上がJavaでマルチスレッドを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!