当前位置:首页 > 芯闻号 > 充电吧
[导读]Atitit 流水线子线程异常处理  1.1. 大概原理是 FutureTask排除异常 FutureTask.get   can throw ExecutionException,can catch

Atitit 流水线子线程异常处理

 

 

1.1. 大概原理是 FutureTask排除异常 FutureTask.get   can throw ExecutionException,can catch this ex... 1

1.2. code 1

 

 

1.1. 大概原理是 FutureTaskt throw 异常 FutureTask.get   can throw ExecutionException,can catch this ex...

 

Throwable cause = e.getCause(); 

if(cause.getMessage().contains("sub task err"))

{

RunEx re=(RunEx) cause;

System.out.println(JSON.toJSONString( re.returnObj));

System.out.println();


}else

ExUtil.throwExV2(e);

 

 

1.2. code

 

package com.cnhis.cloudhealth.clinical.clidoctor.clisendadvice.bo;

 

import java.util.Map;

import java.util.concurrent.Callable;

import java.util.concurrent.ExecutionException;

import java.util.concurrent.FutureTask;

 

import com.alibaba.fastjson.JSON;

import com.cnhis.cloudhealth.commons.util.oplogutil.AsynUtil;

import com.cnhis.cloudhealth.util.ExUtil;

import com.cnhis.cloudhealth.util.RunEx;

import com.google.common.collect.Maps;

 

public class FuturetaskExTest {

 

public static void main(String[] args) {

// TODO Auto-generated method stub


FutureTask tsk= subtask();

System.out.println("--");

try {

tsk.get();

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (ExecutionException e) {

Throwable cause = e.getCause(); 

if(cause.getMessage().contains("sub task err"))

{

RunEx re=(RunEx) cause;

System.out.println(JSON.toJSONString( re.returnObj));

System.out.println();


}else

ExUtil.throwExV2(e);

}

//System.out.println("--");

 

}

 

public static FutureTask subtask() {

FutureTask

 

  @Override

  public Object call()   { 

  System.out.println("--e in sub thread");

  

  if("a".equals("a"))

  {

  Map m=Maps.newConcurrentMap();m.put("k", "vv");

   throw new RunEx("sub task err",m);

   

  }

  return "err";

  }

  }) ;

  

   AsynUtil.execMeth_Ays( FutureTask_updateCviBdj,"");

return FutureTask_updateCviBdj;

}

 

}

 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

硬件技术在硬件技术方面主要从处理机、存储器和流水线三个方面来实现并行。1.处理机:主要的处理机系列包括CISC、RISC、超标量、VL1W、超流水线、向量以及符号处理机。传统的处理机属于复杂指令系统计算(CISC)结构。...

关键字: 并行处理 处理器 流水线

采用多级指令流水线结构采用流水线技术可使每一时刻都有多条指令重叠执行,以减小 CPI 的值,使 CPU 不浪费空周期。

关键字: CPU 流水线 CPI

摘 要:针对实时高速信号处理要求,设计并实现了一种基于FPGA的高速流水线结构的基4FFT处理器。根据各种不同基算法的运算量、硬件面积和控制复杂度,选定按时间抽取的基4算法,同时采用单路延时反馈(Single-path...

关键字: FFT 流水线 基4 蝶形运算

在此前的文章中,我已经向你介绍了Kubeflow,这是一个为团队设置的机器学习平台,需要构建机器学习流水线。 在本文中,我们将了解如何采用现有的机器学习详细并将其变成Kubeflow的机器学习流水线,

关键字: 机器学习 流水线 kubeflow

Atitit 格式转换的艺术以excel转换txt为例 目录1. 需要的技术 11.1. 遍历 与循环 11.2. 序列化 31.3. 文本序列化 json csv 32. Bp最佳实践与流程总结 3

关键字: atitit 遍历与循环模式

Atitit 网络设备的自动发现机制需求如下:1、自动获取当前设备所在网段及当前与当前网段有连接的网段的所有IP,并判断出是哪类设备。如:服务器、交换机、防火墙等。2、如何根据第1点得到的信息,获取设

关键字: atitit 网络设备

Atitit  依赖管理之道1. 概念 依赖管理,是指在什么地方以什么形式引入外部代码。 11.1.1. 理解模块化和依赖管理: 11.2. 依赖管理,有三个层面。 单一职责原则,协议对象引用,依赖逻

关键字: atitit

Atitit 知识点 文章 框架 结构 大纲 attilax  总结 艾提拉总结 技术掌握文档总结的 v5 s420.docx1.1. Preface前言 序言 12. 技术流程了解》》选型(标准化与

关键字: atitit

Atitit 健康减肥与软件健康减肥的总结 attilax著 1. 几大最佳实践减肥行为 11.1. 控制饮食分量用小碗 小盘子 小餐具 11.2. 软件如何减肥,控制资源占有率,比如体积 打包体积小

关键字: atitit 封装

Atitit 艾提拉整理清明节的诗歌集合 清明节的特征  万物复苏 百草发芽  尝试从股市 其他外国诗歌集 得到清明的诗歌 约谈春天 歌颂春天下雨 不见方三日、 夜来风雨声,花落知多少。(孟浩然:《春

关键字: atitit
关闭
关闭