`

从任务中产生返回值

 
阅读更多
Runnable接口不返回任何值,如果希望任务完成时能返回一个值,可以实现Callable接口。
   1.Callable是一个类型参数的接口,类型参数表示从方法call()中的返回值。
   2.运行时必须使用ExecutorService.submit去调用它,例子如下:

public class TaskWithResults implements Callable<String>{

private int id;

public TaskWithResults(int id) {
// TODO Auto-generated constructor stub
this.id=id;
}

@Override
public String call() throws Exception {
// TODO Auto-generated method stub
return "results of TaskWithResults "+id;
}

}

===========================================
public class CallableDemo {


public static void main(String[] args)
{
ExecutorService exec=Executors.newCachedThreadPool();
ArrayList<Future<String>> results=new ArrayList<Future<String>>();
for(int i=0;i<10;i++)
results.add(exec.submit(new TaskWithResults(i)));
for(Future<String> fs:results )
{
try {
System.out.println(fs.get());
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ExecutionException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
exec.shutdown();
}
}
}

}
分享到:
评论

相关推荐

    Swift视频教程:函数篇 形式参数与返回值③多返回值

    在Swift编程语言中,函数是实现特定任务的代码块,可以接受输入(称为参数)并产生输出(称为返回值)。本教程重点讲解了如何在Swift中处理多返回值的函数,这对于编写复杂逻辑和提高代码可读性至关重要。在本视频...

    C语言函数说明与返回值.pdf

    本篇文档将深入探讨C语言中函数的概念、形式、如何说明以及返回值等核心知识点。 首先,函数是C语言程序的基本组成单位。它由类型说明符、函数名、参数表和函数体四个部分组成。在定义函数时,类型说明符指定了函数...

    使用HOOK拦截任务管理器中直接杀进程的消息

    在实际应用中,这种方法可以有效地防止恶意软件或其他程序误杀关键进程,但是也需要注意,过度使用HOOK可能导致系统性能下降,并可能与其他安全措施产生冲突。因此,在使用HOOK技术时,应谨慎考虑其适用性和潜在风险...

    函数参数与返回值PPT学习教案.pptx

    在编程语言中,函数是组织代码的基本单元,用于执行特定任务。函数的参数与返回值是函数的核心组成部分,它们决定了函数如何接收输入和提供输出。本篇PPT学习教案主要探讨了函数参数与返回值的概念、类型以及参数...

    Swift视频教程:函数篇 形式参数与返回值④可选元组返回

    在Swift编程语言中,函数是实现特定任务的代码块,可以接收输入(称为参数)并产生输出(称为返回值)。本教程重点讲解了函数的形式参数、返回值以及一个特殊的特性——可选元组返回。这一章节是“Swift视频教程:...

    函数的参数与返回值PPT学习教案.pptx

    在编程中,函数是执行特定任务的代码块,它们通过接收输入(参数)并返回结果(返回值)来工作。本教程重点讲解了函数参数与返回值的概念,这对于理解和编写高效、可维护的代码至关重要。 参数是函数在被调用时接收...

    阿里云 专有云企业版 V3.6.1 分布式任务调度SchedulerX 开发指南 - 20181105.pdf

    阿里云专有云企业版的分布式任务调度SchedulerX开发指南是为开发者提供的一份详细的手册,涵盖了SchedulerX的API使用、安全规定、操作注意事项和系统交互流程等内容,帮助用户在专有云环境中构建和优化任务调度系统...

    Python入门(3)–函数文档和返回值

    在Python编程语言中,函数是组织良好、可重复使用的代码块,它们执行特定任务并可能返回结果。在本文中,我们将深入探讨函数的返回值及其重要性,以及如何使用函数文档来更好地理解和使用函数。 首先,让我们理解...

    java代码-方法参数和返回值

    在Java编程语言中,方法是实现特定功能的代码块,它们可以接受输入(参数)并产生输出(返回值)。理解方法参数和返回值是编写高效、可读性强的Java代码的关键。下面我们将深入探讨这两个概念。 ### 方法参数 1. *...

    cats:异步返回值

    当一个宏任务执行完毕,它内部产生的所有微任务都会在下一个事件循环阶段被执行,然后才开始下一个宏任务。 5. **错误处理**:在异步编程中,错误处理尤为重要。Promise的`.catch()`方法和async/await的try/catch块...

    3_AbstractExecutorService源码阅读1

    `RunnableFuture`是`Runnable`和`Future`接口的组合,允许我们提交一个能产生结果的任务,并获取其结果。子类可以通过重写此方法来提供自己的`RunnableFuture`实现。 6. **`protected &lt;T&gt; RunnableFuture&lt;T&gt; ...

    tinyOS内核分析

    `TOSH_run_next_task()`函数负责从队列中取出下一个待执行的任务,并调用相应的任务函数。如果队列为空,则内核将继续等待新的任务到来。 #### 4. 中断服务程序 TinyOS的内核设计为完全被动式,这意味着所有的任务...

    CallableFuture简介-动力节点共16页.pd

    CallableFuture是Java并发编程中的一个重要接口,它是Future接口的一个扩展,提供了从异步计算中获取结果的能力,并且允许取消任务。在深入理解CallableFuture之前,我们先来回顾一下Future接口。Future接口代表一个...

    VC Activx 事件,在web中获得事件

    ActiveX控件是实现这一目标的关键元素,它们是小型、自包含的程序模块,可以执行特定的任务,如播放视频、编辑文档等。在Web开发中,ActiveX控件允许服务器端的VC(Visual C++)代码在客户端的浏览器环境中运行,...

    SystemVerilog3.1a语言参考手册.cn.pdf

    SystemVerilog支持void函数,这意味着函数不需要返回值,可以执行任务但不产生输出。此外,SystemVerilog任务和函数可以在内部使用多条语句而无需begin-end块或fork-join块,这为编码提供了便利。可以在到达任务或...

    freertos9.0 API

    在多任务环境中,可以确保每个任务只能访问其被授权的内存空间。 **参数**: - `TaskHandle_t xTask`: 指向任务句柄的指针。 **返回值**:无 **注意事项**: - 使用该函数前需要确保MPU已经初始化并且支持。 - ...

    VB 隐藏进程 程序进程名在系统中隐藏

    5. **声明API函数**:在VB中,需要使用`Declare`语句来声明API函数,指定函数的名称、参数类型和返回值类型。例如: ```vb Declare Function SetProcessWindowStation Lib "user32" (ByVal hWinSta As Long) As Long...

    Function Parameters Returning Values.rar_C++_MM4L_grain3ne_retur

    在C++编程语言中,函数是执行特定任务的代码块,可以接受输入(参数)并产生输出(返回值)。函数的返回值是函数执行完成后传递回调用位置的数据。本主题将深入探讨C++中函数参数及返回值的使用。 1. 函数声明与...

    海康SDK接口说明

    - **功能描述**: 从正在播放的视频中截取图片 - **参数说明**: 设备ID、存储路径等 - **返回值**: 图片文件名 - **备注**: 用于保存视频中的画面。 **12.2 开始本地录像** - **函数名称**: `Plat_...

    shell脚本返回值及其使用场景的实现

    总的来说,正确理解和利用shell脚本的返回值是编写健壮、可维护脚本的关键,特别是在多脚本交互和自动化任务中。通过捕获和处理返回码,我们可以确保错误不会被遗漏,从而提高系统的稳定性和可靠性。

Global site tag (gtag.js) - Google Analytics