当前位置: 网学 > 编程文档 > JAVA > 正文

实战java Concurrent

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/08/05
te String        wsdl;        /**      * 构造方法,传入节点的WSDL      */      public ValidationTask(String wsdl) {          this.wsdl = wsdl;      }        /**      * 执行针对某个节点的验证<br/>      * 如果正有别的线程在执行同一节点的验证则等待其结果,不重复执行验证      */      @Override      public Node call() throws Exception {          Node node = ValidationService.NODE_MAP.get(wsdl);          Lock lock = null;          logger.info("开始验证节点:" + wsdl);          if (node != null) {              lock = node.getLock();              if (lock.tryLock()) {                  // 当前没有其他线程验证该节点                  logger.info("当前没有其他线程验证节点" + node.getName() + "[" + wsdl + "]");                  try {                      Node result = MockNodeValidator.validateNode(wsdl);                      mergeNode(result, node);                  } finally {                      lock.unlock();                  }              } else {                  // 当前有别的线程正在验证该节点,等待结果                  logger.info("当前有别的线程正在验证节点" + node.getName() + "[" + wsdl + "],等待结果");                  lock.lock();                  lock.unlock();              }          } else {              // 从未进行过验证,这种情况应该只出现在系统启动初期              // 这时是在做初始化,不应该有冲突发生              logger.info("首次验证节点:" + wsdl);              node = MockNodeValidator.validateNode(wsdl);              ValidationService.NODE_MAP.put(wsdl, node);          }          logger.info("节点" + node.getName() + "[" + wsdl + "]验证
  • 上一篇资讯: Java 日志组件 LOG4J
  • 下一篇资讯: java concurrent 探秘
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号