如果想获取某一线程执行后的结果, 则使用Callable(类似于Runnable), Future(表示一个任务的生命周期, 并提供了相应的方法判断是否已经完成或取消, 以及任务的执行结果)
package com.test; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; public class Test4 { public static void main(String[] args) throws InterruptedException, ExecutionException { ExecutorService es = Executors.newCachedThreadPool();// 创建线程池对象 List<Future<String>> result = new ArrayList<Future<String>>();// 放结果用的集合 for (int i = 0; i < 3; i++) { Future<String> f = es.submit(new MyCall(i));// 线程执行完成以后可以通过引用获取返回值 result.add(f); } for (Future<String> f : result) { System.err.println("返回值:" + f.get());// get方法等线程返回结果, } System.err.println("完成...."); } } //声明一个类,可以被调用,类似于线程,但它可以拥有返回值 class MyCall implements Callable<String> { private int seq; public MyCall(int seq) { this.seq = seq; } // 抛出异常并可以拥有返回值 public String call() throws Exception { System.err.println("执行" + seq + "," + Thread.currentThread().getName()); Thread.sleep(3000); System.err.println("Weak up " + seq); return "完成" + seq;// 这是返回值 } }
相关推荐
《Python未来库(Future)详解及安装指南》 在Python编程中,`future`库是一个不可或缺的工具,它为Python 2和Python 3之间的互操作性提供了强大的支持。`future-0.17.1.tar.gz`是该库的一个版本压缩包,包含了在...
《Python的Future模块详解及其0.18.2版本特性》 在Python编程中,`future`库是一个不可或缺的工具,它为Python 2和Python 3之间的代码兼容提供了便利。`future-0.18.2-py3-none-any.whl`是一个针对Python 3的whl...
《Python库future-0.12.0:跨越Python版本的桥梁》 在Python的世界里,随着版本的迭代,语法和特性不断更新,这给代码的兼容性带来了挑战。为了解决这一问题,Python社区开发了一个名为`future`的库,它的全名是`...
"Java使用Callable和Future创建线程操作示例" Java使用Callable和Future创建线程操作示例主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作...
`future`库就是其中一个重要的依赖包,它为Python 2和Python 3之间的兼容性提供了解决方案。本文将详细介绍`future`库以及如何安装和打包这个依赖包。 `future`库是专门为解决Python 2到Python 3迁移问题而设计的。...
标题中的"future-0.18.2.tar.gz"是一个软件包的名称,它采用了常见的压缩格式".tar.gz"。这种格式是Linux和Unix系统中常用的归档和压缩方法,由".tar"(用于打包多个文件和目录)和".gz"(Gzip压缩算法)组合而成。...
【FutureAlpha演示(提纲性)】是一个关于中国人自主研发的操作系统的详细介绍,旨在展示其核心理念、技术特点以及可能带来的未来影响。在这个演示中,我们可能会深入了解到这款名为FutureAlpha的操作系统的创新之处,...
C++11 Promise 和 Future C++11 提供了一个基于任务的并行程序设计的方法,称为 Promise 和 Future。Promise 代表了异步操作的结果,Future 代表了对异步操作的结果的等待。它们之间的关系是 Promise 提供一个值,...
Python的`future`库是为了解决Python 2与Python 3之间的兼容性问题而设计的,它使得Python 2的代码可以更容易地转换到Python 3,或者编写出同时兼容两个版本的代码。`future-0.16.0.tar.gz`是一个压缩包,包含了`...
FACE(Future Airborne Capability Environment)规范是一项由The Open Group组织发布的航电软件架构设计标准。该规范的目的是为了提供一种开放、可移植和模块化的航空电子软件架构框架,以便于快速开发和部署军事...
Java中的Runnable、Callable、Future和FutureTask是Java多线程编程中的核心概念,它们各自扮演着不同的角色,共同协作以实现并发任务的管理和执行。 1. **Runnable**: Runnable是最基本的多线程接口,它只有一个`...
`future`是一个核心概念,特别是在`concurrent.futures`模块和`asyncio`包中。`Future`对象是这些模块的核心组件,用于表示一个可能会在未来某个时刻完成的异步操作。 `concurrent.futures`模块提供了一个高级接口...
《Python的Future模块详解——基于future-0.18.2-py3-none-any.whl的探讨》 在Python编程中,"future"模块扮演着一个至关重要的角色,尤其是在处理Python 2到Python 3的过渡阶段。"future-0.18.2-py3-none-any.whl...
该文档标题为“Fundamental design issues for the future Internet”,即“未来互联网的基础设计问题”,这表明文档将讨论未来互联网发展过程中可能遇到的关键技术问题。描述中提到,尽管互联网最初的设计目的是...
《基于Web的集成化项目管理系统Future1.0使用手册》 1. 产品介绍 Future1.0是一款专为IT企业设计的集成化项目管理系统,它利用Web技术,实现了跨地域、多团队的协同工作,旨在提升项目管理的效率和效果。系统提供了...
在Swift编程语言中,"Future" 是一个设计模式,它被用于处理异步操作和结果的响应。这个概念源于函数式编程,已经被许多现代编程语言所采纳,包括Swift。"Future" 实现了一种机制,使得开发者可以在异步任务完成之前...
本项目"Android-Future基于Kotlin协同程序的简单的monadic未来实现"旨在提供一个轻量级的、面向未来的异步处理框架,以帮助开发者更方便地处理并发任务。 首先,让我们深入理解什么是"Future"。在编程领域,Future...
在Python的数据库操作中,尤其是当你使用pymysql库连接MySQL数据库时,可能会遇到一个警告,提示"Integer display width is deprecated and will be removed in a future release." 这个警告源于MySQL数据库的一个...