FutureTask与线程池的应用

需求背景:第三方请求服务后,异步处理请求,先返回请求方请求成功,后开启线程执行task并获取执行后的结果。故选用FutureTask来解决。

注意:定义调用方法的时候,定义call方法中需要的入参时,调用方法的形参是要定义成final类型的。

public class FutureTaskAndThreadPoolExecuteTest {
    public static void main(String[] args) throws Exception {
        function("bxq");
    }
    
    public static String function(final String ss) throws Exception{

        FutureTask<String> futureTask = new FutureTask<String>(new Callable<String>() {

            @Override
            public String call() throws Exception {
                System.out.println("do something in callable!");
                Thread.sleep(5000);
                return ss;
            }
        });
        ExecutorService executorService = Executors.newCachedThreadPool();
        executorService.submit(futureTask);
        System.out.println("do something in main!");
        Thread.sleep(1000);
        String s = futureTask.get();
        System.out.println("result:"+s);
        return s;
    
    }

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 11,396评论 4 56
  • 金色的季节 飘荡着片片红叶 冉冉轻舞 似是舍不得那 曾经的温存 心伤 不过归于尘土 许是久了 终是感化了 大地的醇...
    饮茶如酒阅读 448评论 6 16
  • 以往的,记忆里的,夏天的味道。 温热的空气,游离的蝉鸣,石板上阳光的碎屑,树荫下嬉戏的童声,巷口扇蒲扇,午睡的猫,...
    邈邈世无双阅读 654评论 0 2
  • 外面的风呜呜地刮着,顺着堂屋吹了进来,烛台燃烧的橘色火焰剧烈地上下跳动着,整个屋子在这一闪一闪的烛光照耀下忽明忽暗...
    莫忍冬阅读 117评论 0 0