码迷,mamicode.com
首页 > 编程语言 > 详细

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

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

标签:接口   callable   线程   

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接口

标签:接口   callable   线程   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!