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 サイトの他の関連記事を参照してください。