• Java Future


    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

     

  • 相关阅读:
    三种解决IE版本兼容性问题
    CSS 如何让超链接访问后和访问前的颜色不同且访问后仍保留hover和active效果
    bootstrap 笔记用法
    STL优缺点
    输出最大回文数
    将一组单词逆序输出
    排序算法
    背包问题
    二进制
    sstream
  • 原文地址:https://www.cnblogs.com/zhangyan-2015/p/5453494.html
Copyright © 2020-2023  润新知