带返回值的线程创建方式

Posted nachdenken

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带返回值的线程创建方式相关的知识,希望对你有一定的参考价值。

package thread;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

/**
 * @description: CallerTask类实现了Callable接口的call()方法。在main函数内首先创建了一个
 *                FutrueTask对象(构造函数为CallerTask的实例),然后使用创建的FutrueTask对象
 *                作为任务创建了一个线程并且启动它,最后通过futureTask.get()等待任务执行完毕并返回结果。
 * @author: Raymond
 * @createDate: 2020/5/6
 * @version:
 */
public class FutureTaskTest {

    public static class CallerTask implements Callable<String> {
        @Override
        public String call() throws Exception {
            return "Hello Raymond !";
        }
    }

    public static void main(String[] args) {
        // 创建异步任务
        FutureTask<String> futureTask = new FutureTask<>(new CallerTask());
        new Thread(futureTask).start();
        try {
            String result = futureTask.get();
            System.out.println(result);
        } catch (InterruptedException e) {
            e.printStackTrace();
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
    }
}

 

以上是关于带返回值的线程创建方式的主要内容,如果未能解决你的问题,请参考以下文章

带返回值的线程

实现多线程的四种方式

四种多线程方式

JAVA多线程实现的四种方式

Java创建多线程的三种方法

创建线程的四种方式