栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Callable的简单说明及使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Callable的简单说明及使用

Callable的简单实现

    package com.itheima.callable;
    
    import java.util.concurrent.Callable;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.FutureTask;
    
    public class CallableTest {
        public static void main(String[] args) throws ExecutionException, InterruptedException {
            //new Thread(new Future(Callable)).start();
            MyThread thread=new MyThread();
            FutureTask integerFutureTask = new FutureTask(thread);  //适配器
            new Thread(integerFutureTask,"A").start();
            new Thread(integerFutureTask,"B").start();//只输出一个call是因为其有缓存
    
            Integer o = (Integer) integerFutureTask.get(); //获得Callable的返回值结果
            System.out.println(o);
    
    
        }
    }
    class MyThread implements Callable{
    
        @Override
        public Integer call() throws Exception {
            System.out.println("call()");
            return 1024;
        }
    }

注意:
1.当有多个线程时,输出结果有缓存。
2.结果可能需要等待,因为get()方法耗时较长,也可能被阻塞。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/733037.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号