美文网首页java多线程
多线程之FutureTask

多线程之FutureTask

作者: 初夏时的猫 | 来源:发表于2019-11-10 20:36 被阅读0次
    图片.png

    从关系图可以看出FutureTask可以当作一个Runnable被线程执行。
    Future构造器

    public FutureTask(Callable<V> callable) {
    }
    public FutureTask(Runnable runnable, V result) {
    }
    

    示例:

    class Runner implements Callable{
    
    
        @Override
        public String call() throws Exception {
            return Thread.currentThread().getName()+".call";
        }
    }
    public class Ttttt {
        public static void main(String[] args) {
            ExecutorService executor = Executors.newCachedThreadPool();
            Runner runner = new Runner();
            FutureTask<String> ft = new FutureTask<String>(runner);
            Future<?> result = executor.submit(ft);
            executor.shutdown();
            try {
                System.out.println(ft.get());
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (ExecutionException e) {
                e.printStackTrace();
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:多线程之FutureTask

        本文链接:https://www.haomeiwen.com/subject/prgabctx.html