码迷,mamicode.com
首页 > 编程语言 > 详细

带返回值的线程创建方式

时间:2020-05-06 21:40:19      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:override   caller   cut   string   port   exec   ace   star   script   

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();
        }
    }
}

 

带返回值的线程创建方式

标签:override   caller   cut   string   port   exec   ace   star   script   

原文地址:https://www.cnblogs.com/nachdenken/p/12838927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!