美文网首页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