首页 > 编程语言 > 详细

Java Future

时间:2016-05-03 00:14:31      阅读:770      评论:0      收藏:0      [点我收藏+]

java jdk里面的线程池蛮好用的,之前看的时候忽略掉了一个很好玩的类Future, 顺便记录一下, 这方面的博客很多,就不多说了

java Future 设计模式:http://www.2cto.com/kf/201411/351903.html

javaFuture ExecutorService: http://blog.csdn.net/wei369924173/article/details/7992642

java线程池:http://my.oschina.net/u/1398304/blog/376827

这里贴下我的测试代码:

public class Test {

    String result;

public static final void main(String argvs[]) throws InstantiationException, IllegalAccessException, InterruptedException, ExecutionException{

  ExecutorService services = Executors.newFixedThreadPool(2);

  final Test test = (Test) Test.class.newInstance();

      Future<Test> future = services.submit(new Runnable(){

    public void run() {

      test.result = "start";

    try {

    Thread.sleep(5000);

    } catch (InterruptedException e) {

    e.printStackTrace();}

    test.result = "end";

    }

      }, test);

    //做其他的事情

    System.out.println("1: result="+future.get().result); //阻塞方法

    }

}

等待一段时间后输出:1:result=end

特别注意的事,future.cancel(boolean)方法, 这个方法参数如果是true,那么正在执行被取消任务的线程的中段标志会被置为true, 换句话说,只有执行任务的时候判断了中断状态,被中断就结束任务,否则任务还会继续执行完

 java thread中断:http://blog.csdn.net/sunxing007/article/details/9123363

 

Java Future

原文:http://www.cnblogs.com/zhangyan-2015/p/5453494.html

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