package thread;
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;
/** Runnable是执行工作的独立任务,但是它不返回任何值,如果希望任务在完成时能够返回一个值,可以实现Callable接口 */
class TaskWithResult implements Callable<String>
{
private int id;
public TaskWithResult(int id)
{
this.id = id;
}
@Override
public String call()
throws Exception
{
return "result of TaskWithResult " + id;
}
}
public class CallableDemo
{
public static void main(String[] args)
{
ExecutorService service = Executors.newCachedThreadPool();
List<Future<String>> results = new ArrayList<Future<String>>();
for (int i = 0; i < 10; i++)
results.add(service.submit(new TaskWithResult(i)));
for (Future<String> fs : results)
{
try
{
System.out.println(fs.get());
}
catch (InterruptedException e)
{
e.printStackTrace();
}
catch (ExecutionException e)
{
e.printStackTrace();
}
finally
{
service.shutdown();
}
}
}
}
分享到:
相关推荐
<filter-name>CAS Assertion Thread Local Filter</filter-name> <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS ...
赠送jar包:transmittable-thread-local-2.12.1.jar; 赠送原API文档:transmittable-thread-local-2.12.1-javadoc.jar; 赠送源代码:transmittable-thread-local-2.12.1-sources.jar; 赠送Maven依赖信息文件:...
易语言hook模块
apache-jmeter-5.6.3 ...使用说明: Apache JMeter是Apache组织开发的基于Java的压力测试工具。 因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境。...在Thread Group上右键 --> Add --> Listener--> View
在`<thread-pools>`下添加或修改相关属性,如最大线程数(`max-thread-count`)、最小线程数(`min-thread-count`)和线程等待队列长度(`work-manager`的`max-queue-length`)。例如: ```xml <thread-pools> ...
赠送jar包:transmittable-thread-local-2.12.2.jar; 赠送原API文档:transmittable-thread-local-2.12.2-javadoc.jar; 赠送源代码:transmittable-thread-local-2.12.2-sources.jar; 赠送Maven依赖信息文件:...
JS格式化,使JS方法可折叠,方法透视图等,“视图--->其他窗口--->javascript parser"调出来方法透视图。 NuGet.Tools 方便注册引用第三方DLL文件 PowerCommands 解决方案选中文件或者文件夹,可以打开方案所在位置...
-- 配置JobDetail和Trigger --> <property name="jobDetails"> <list> <!-- 添加你的JobDetail配置 --> </list> </property> <property name="triggers"> <list> <!-- 添加你的Trigger配置 --> </list> ...
<thread-check-count>5</thread-check-count> <connection-timeout>30000</connection-timeout> <idle-timeout>300000</idle-timeout> </pool-definition> </proxool> ``` 在这个配置中,`alias`与`...
<thread-max>256</thread-max> ``` 定义了线程池的最大线程数量。 #### 十九、Socket超时配置 ```xml <socket-timeout>65s</socket-timeout> ``` 设置Socket连接的超时时间,单位为秒。 #### 二十、KeepAlive...
- `master---->slave1---->slave2` #### 3. 多主复制 (Multi-Master Replication) - **结构**:两个或多个服务器相互作为对方的主服务器。 - **特点**:提高写入性能,但可能带来数据冲突问题。 - **示例**: - ...
赠送jar包:transmittable-thread-local-2.12.1.jar; 赠送原API文档:transmittable-thread-local-2.12.1-javadoc.jar; 赠送源代码:transmittable-thread-local-2.12.1-sources.jar; 赠送Maven依赖信息文件:...
"rt-thread-3.1.3" 是该操作系统的特定版本,代表着该版本在功能和性能上的优化与改进。 RT-Thread Nano是RT-Thread的一个精简版,它专注于提供基础的实时内核服务,如线程管理、内存管理和信号量机制。在"rtthread...
从给定的部分内容中,我们可以提炼出多个物理知识点,主要涉及质谱仪原理、粒子运动、核物理以及量子力学的基本概念。以下是对这些知识点的详细解释: ### 1. 质谱仪原理 质谱仪是一种用于测量带电粒子(如离子)...
-- Configuring a fixed thread pool is vital to controlling the --> <!-- maximal memory footprint of the server and is a key tuning --> <!-- parameter for tuning. In an application that rarely blocks -...
RT-Thread-OTA用户手册介绍了RT-Thread操作系统下的在线固件升级技术(Firmware Over-the-Air Technology, OTA),该技术允许开发者轻松实现对嵌入式设备固件的远程管理、升级和维护。手册中详细阐述了OTA技术的特点...
- <thread>:提供线程支持,使得编写多线程程序更加方便。 2. 文档中提及的类和结构体是C++标准库中的重要组成部分,比如: - allocator类:内存分配器,用于管理内存的分配和释放。 - any类:C++17新增的类型,...
-- 添加resin/lib目录下的所有jar文件 --> <class-loader> <tree-loader path="${resin.home}/ext-lib"/> <tree-loader path="${resin.root}/ext-lib"/> <tree-loader path="${resin.home}/lib"/> <tree-loader...
《RT-Thread MicroPython 开发手册》是一份详细介绍如何在RT-Thread操作系统上使用MicroPython的用户手册。RT-Thread是一个流行的开源实时操作系统,而MicroPython则是Python编程语言的一个轻量级实现,适用于资源...
### RT-Thread编程指南知识点概览 #### 一、RT-Thread简介 ##### 1.1 RT-Thread概述 RT-Thread是一款源自中国的开源实时操作系统(RTOS),它具有丰富的组件和中间件支持,并且适用于各种微控制器(MCU)和低功耗...