首页 > 编程语言 > 详细

从线程中产生返回值--Callable接口

时间:2015-07-13 10:16:12      阅读:269      评论:0      收藏:0      [点我收藏+]

Runnable是执行工作的独立线程,但是它不返回任何值。如果你希望线程在完成时能够返回一个值,那么可以实现Callable接口而不是Runnable接口。在Java SE5中引入的Callable是一种具有类型参数的泛型,它的类型参数表示的是从方法call()(而不是run())中返回的值,并且必须使用ExecutorService.submit()方法调用它。

线程代码:

public class ResulttThread implements Callable<String> {

    private int id;

    public ResulttThread(int id) {
        this.id = id;
    }

    @Override
    public String call() throws Exception {
        return "The result id is " + id;
    }
}

调用代码:

 Future<String> future;
 ExecutorService mService = Executors.newCachedThreadPool();
    for (int i = 0; i < 5; i++) {
       future = mService.submit(new ResulttThread(i));
       System.out.println(future.get());
    }

运行结果:

技术分享

版权声明:本文为博主原创文章,未经博主允许不得转载。

从线程中产生返回值--Callable接口

原文:http://blog.csdn.net/pengkv/article/details/46858815

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!