ExecutorService.execute(Runnable x) 判断是否完成,得到返回值
public class RunnableTestMain {
    public static void main(String[] args) {
        ExecutorService pool = Executors.newFixedThreadPool(2);
        /**
         * execute(Runnable x) 没有返回值。可以执行任务,但无法判断任务是否成功完成。
         */
        pool.execute(new RunnableTest("Task1"));
        /**
         * submit(Runnable x) 返回一个future。可以用这个future来判断任务是否成功完成。请看下面:
         */
        Future future = pool.submit(new RunnableTest("Task2"));
        try {
            if(future.get()==null){//如果Future's get返回null,任务完成
                System.out.println("任务完成");
            }
        } catch (InterruptedException e) {
        } catch (ExecutionException e) {
            //否则我们可以看看任务失败的原因是什么
            System.out.println(e.getCause().getMessage());
        }
    }
}
public class RunnableTest implements Runnable {
    private String taskName;
    public RunnableTest(final String taskName) {
        this.taskName = taskName;
    }
    @Override
    public void run() {
        System.out.println("Inside "+taskName);
        throw new RuntimeException("RuntimeException from inside " + taskName);
    }
}
ExecutorService.execute(Runnable x) 判断是否完成,得到返回值的更多相关文章
- JMeter(7) 优化判断返回类型和返回值
		
之前判断接口类型和返回值用beanshell,可见JMeter(5)-JMeter之BeanShell使用 优化点 接口测试里面对返回字段的类型验证和值验证为基本需求,将方法导成jar文件,导入之后方 ...
 - ExecutorService的submit(Runnable x)和execute(Runnable x) 两个方法的本质区别
		
Runnable任务没有返回值,而Callable任务有返回值.并且Callable的call()方法只能通过ExecutorService的submit(Callable <T> tas ...
 - 深入Callable及Runnable两个接口 获取线程返回结果
		
今天碰到一个需要获取线程返回结果的业务场景,所以了解到了Callable接口. 先来看下下面这个例子: public class ThreadTest { public static void mai ...
 - Execute Sql Task 的Result DataSet如何返回
		
Execute Sql Task的Result DataSet 主要有以下四种,当Execute Sql Task返回结果之后,需要使用SSIS Variable 来接收数据. 例子中使用的数据表代码 ...
 - GDB 修改当前判断函数的返回值(即修改寄存器的值)的方法
		
工作中遇到的问题: 在GDB调试时要进入下边该判断后边的函数,而m_EtherDecode.Chk_MakeSure_IP_Pkt(pPacket,dwPacketLen)的返回值是false,所以需 ...
 - python  os.system()返回值判断
		
最近遇到os.system()执行系统命令的情况,上网搜集了一下资料,整理如下,以备不时之需,同时也希望能帮到某些人. 一.python中的 os.system(cmd)的返回值与linux命令返回值 ...
 - Java学习-030-JSON 之四 -- 判断 JSONObject 是否包含键值对
		
前文对获取 JSON 数据封装方法,使之可通过类似于 cssSelector 的方法获取 JSON 数据,使获取数据变得简单.敬请参阅:模仿 cssSelector 封装读取 JSON 数据方法. 在 ...
 - php 判断table 是否存在 根据返回值继续下一步的操作
		
根据sql命令创建数据库或者数据表时候,判断库或者表是否存在比较重要. //要创建的表是否已经存在 function isHaveTable( $dbName,$tableN, $con) //数据 ...
 - [转]WinExec、ShellExecute和CreateProcess及返回值判断方式
		
[转]WinExec.ShellExecute和CreateProcess及返回值判断方式 http://www.cnblogs.com/ziwuge/archive/2012/03/12/23924 ...
 
随机推荐
- gson小练习之嵌套复杂数据解析
			
package com.zf.demo; import java.util.List; import com.google.gson.Gson; public class JGson { /** * ...
 - max_size, capacity and size 的区别
			
The max_size() function returns the maximum number of elements that the container can hold. The max_ ...
 - Ubuntu系统启动时waiting for network
			
最近在使用Ubuntu时启动经常会遇到等待网络配置, 每次等待时间都很长,要几分钟,于是在网上看看其他大牛怎么解决该问题. 有些解决方法中有提到删除 网卡硬件信息文件/etc/udev/rules.d ...
 - 创建dblink 同义词
			
database link dblink的主要作用是两个数据库间的数据访问 create database link my_test connect to testdbname identified ...
 - C#和Js 编码和解码方法
			
Server.UrlDecode(); Server.UrlEncode(); Server.HtmlDecode(); Server.HtmlEncode();
 - AFNetworking 简单应用
			
最近最学习 AFNetworking ,根据自己所学对 AFNetWorking 一些简单应用做了一下简单封装,主要有 get,post形式获取 xml,json,get 方式获取图片,下载文件,上传 ...
 - CSS的定位属性实现text-shadow属性的文本下产生阴影效果
			
只要先理解text-shadow的原理,就能用定位元素进行效果的模仿. text-shadow: h-shadiv v-shadov blur color h-shadv为文本水平移动的距离,正值相对 ...
 - spoj 39
			
DP 完全背包问题 的 d[i] = min(d[i], d[i-w]+p) d[i]表示当总重量为i时可装的最小价值 #include <cstdio> #include &l ...
 - uva 147
			
一个简单的dp 面值是5的倍数 将面值都除5 因为输出问题wa .... #include <iostream> #include <cstring> #includ ...
 - 【网络】IP地址分配、端口号、分层
			
3.网络分层 OSI的七层网络结构图和TCP/IP的五层结构图 OSI七层模型OSI中的层 功能 ...