美文网首页
多线程FutureTask基本使用

多线程FutureTask基本使用

作者: 洋娃娃_2a03 | 来源:发表于2018-07-13 11:16 被阅读0次

    1、为什么要使用FutureTask

    Thread or Runnable 的方式,run()结束后没有返回结果,当run()结束后有返回结果的,使用future;

    适用于耗时的计算任务,主线程可以完成自己的任务后,去获取线程的结果

    并且,futureTask即便调用了多次,也只会执行一次run方法(任务只执行一次),(尤其在高并发的情况下,确保只执行一次)

    2,使用基本方式

    Callable callable = new Callable();//要执行的任务

    FutureTask<返回类型> futureTask = new FutureTask(callable)//把任务托管给futureTask;

    Thread thread = new Thread(futureTask);futureTask托管给thread,创建线程

    thread.start();//启动线程

    Object result = futuretask.get();//获取结果,可以设定超时时间

    future.cancel(true);//执行过程中,可以cancel

    3、FutureTask源码结构

    相关文章

      网友评论

          本文标题:多线程FutureTask基本使用

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