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

Java并发之FutureTask

时间:2015-03-19 00:49:21      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:

FutureTask实现了Runnable和Future接口,是一个可取消的异步任务。利用开始和取消计算的方法、查询计算是否完成的方法和获取计算结果的方法,此类提供了对 Future 的基本实现。仅在计算完成时才能获取结果;如果计算尚未完成,则阻塞 get 方法。一旦计算完成,就不能再重新开始或取消计算。更重要的是实现了一个任务完成的回调方法。这个挺好。

    @Test
    public void test2()
    {
        MyFutureTask task=new MyFutureTask(new Callable<String>() {

            @Override
            public String call() throws Exception {
                return "gaoxing";
            }
        });
        
        new Thread(task).start();
    }
}

class MyFutureTask extends FutureTask
{
    public MyFutureTask(Callable arg0) {
        super(arg0);
    }

    protected void done(){
        try {
            System.out.println(this.get());
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ExecutionException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

 

Java并发之FutureTask

标签:

原文地址:http://www.cnblogs.com/gaoxing/p/4349181.html

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