`

thread-->CallableDemo

阅读更多
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();
            }
        }
    }
}
分享到:
评论

相关推荐

    CAS客户端JAR包版本3.3.3

    &lt;filter-name&gt;CAS Assertion Thread Local Filter&lt;/filter-name&gt; &lt;filter-class&gt;org.jasig.cas.client.util.AssertionThreadLocalFilter&lt;/filter-class&gt; &lt;/filter&gt; &lt;filter-mapping&gt; &lt;filter-name&gt;CAS ...

    transmittable-thread-local-2.12.1-API文档-中文版.zip

    赠送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.e

    易语言hook模块

    apache-jmeter-5.6.3

    apache-jmeter-5.6.3 ...使用说明: Apache JMeter是Apache组织开发的基于Java的压力测试工具。 因为JMeter是使用JAVA写的,所以使用JMeter之前,先安装JAVA环境。...在Thread Group上右键 --&gt; Add --&gt; Listener--&gt; View

    weblogic 连接数为5的限制破解角决方法

    在`&lt;thread-pools&gt;`下添加或修改相关属性,如最大线程数(`max-thread-count`)、最小线程数(`min-thread-count`)和线程等待队列长度(`work-manager`的`max-queue-length`)。例如: ```xml &lt;thread-pools&gt; ...

    transmittable-thread-local-2.12.2-API文档-中文版.zip

    赠送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依赖信息文件:...

    vs2010插件

    JS格式化,使JS方法可折叠,方法透视图等,“视图---&gt;其他窗口---&gt;javascript parser"调出来方法透视图。 NuGet.Tools 方便注册引用第三方DLL文件 PowerCommands 解决方案选中文件或者文件夹,可以打开方案所在位置...

    spring定时任务配置(quartz配置)

    -- 配置JobDetail和Trigger --&gt; &lt;property name="jobDetails"&gt; &lt;list&gt; &lt;!-- 添加你的JobDetail配置 --&gt; &lt;/list&gt; &lt;/property&gt; &lt;property name="triggers"&gt; &lt;list&gt; &lt;!-- 添加你的Trigger配置 --&gt; &lt;/list&gt; ...

    基于ssh的proxool连接池配置

    &lt;thread-check-count&gt;5&lt;/thread-check-count&gt; &lt;connection-timeout&gt;30000&lt;/connection-timeout&gt; &lt;idle-timeout&gt;300000&lt;/idle-timeout&gt; &lt;/pool-definition&gt; &lt;/proxool&gt; ``` 在这个配置中,`alias`与`...

    Resin配置文件中文说明

    &lt;thread-max&gt;256&lt;/thread-max&gt; ``` 定义了线程池的最大线程数量。 #### 十九、Socket超时配置 ```xml &lt;socket-timeout&gt;65s&lt;/socket-timeout&gt; ``` 设置Socket连接的超时时间,单位为秒。 #### 二十、KeepAlive...

    mysqlab复制.txt

    - `master----&gt;slave1----&gt;slave2` #### 3. 多主复制 (Multi-Master Replication) - **结构**:两个或多个服务器相互作为对方的主服务器。 - **特点**:提高写入性能,但可能带来数据冲突问题。 - **示例**: - ...

    transmittable-thread-local-2.12.1-API文档-中英对照版.zip

    赠送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_rtthread_RT-Thread_nano_rtthreadopenocd_RT-Threa

    "rt-thread-3.1.3" 是该操作系统的特定版本,代表着该版本在功能和性能上的优化与改进。 RT-Thread Nano是RT-Thread的一个精简版,它专注于提供基础的实时内核服务,如线程管理、内存管理和信号量机制。在"rtthread...

    /thread-619-1-1.html

    从给定的部分内容中,我们可以提炼出多个物理知识点,主要涉及质谱仪原理、粒子运动、核物理以及量子力学的基本概念。以下是对这些知识点的详细解释: ### 1. 质谱仪原理 质谱仪是一种用于测量带电粒子(如离子)...

    jetty启动器资源配置文件

    -- Configuring a fixed thread pool is vital to controlling the --&gt; &lt;!-- maximal memory footprint of the server and is a key tuning --&gt; &lt;!-- parameter for tuning. In an application that rarely blocks -...

    RT-Thread-OTA 用户手册 .pdf

    RT-Thread-OTA用户手册介绍了RT-Thread操作系统下的在线固件升级技术(Firmware Over-the-Air Technology, OTA),该技术允许开发者轻松实现对嵌入式设备固件的远程管理、升级和维护。手册中详细阐述了OTA技术的特点...

    C++开发文档.pdf

    - &lt;thread&gt;:提供线程支持,使得编写多线程程序更加方便。 2. 文档中提及的类和结构体是C++标准库中的重要组成部分,比如: - allocator类:内存分配器,用于管理内存的分配和释放。 - any类:C++17新增的类型,...

    resin应用部署详细步骤

    -- 添加resin/lib目录下的所有jar文件 --&gt; &lt;class-loader&gt; &lt;tree-loader path="${resin.home}/ext-lib"/&gt; &lt;tree-loader path="${resin.root}/ext-lib"/&gt; &lt;tree-loader path="${resin.home}/lib"/&gt; &lt;tree-loader...

    Java-Thread-Affinity,将Java线程绑定到给定的内核.zip

    这个开源项目“Java-Thread-Affinity”提供了在Java中实现线程亲和性的工具和方法。 在Java中,通常我们通过Java的`java.lang.Thread`类进行线程的创建和管理,但默认情况下,Java并不提供直接设置线程亲和性的API...

    RT-Thread-MicroPython 用户手册.pdf

    《RT-Thread MicroPython 开发手册》是一份详细介绍如何在RT-Thread操作系统上使用MicroPython的用户手册。RT-Thread是一个流行的开源实时操作系统,而MicroPython则是Python编程语言的一个轻量级实现,适用于资源...

Global site tag (gtag.js) - Google Analytics