class TaskWithResult implements Callable<String>{
private int id;
public int getId() {
return id;
}
public TaskWithResult(int id) {
super();
this.id = id;
}
public void setId(int id) {
this.id = id;
}
/**
* @param args
*/
public static void main(String[] args) {
}
@Override
public String call() throws Exception {
return "result of TaskWithResult :" + id;
}
}
public class CallableDemo {
public static void main(String[] args) {
ExecutorService es = Executors.newCachedThreadPool();
ArrayList<Future<String>> results = new ArrayList<Future<String>>();
for (int i = 0; i < 10; i++)
results.add(es.submit(new TaskWithResult(i)));
try {
for (Future<String> fs : results){
//调用get方法获取线程执行后的结果
System.out.println("result:===>" + fs.get());
// 调用isDone查看任务是否完成
System.out.println("done:" + fs.isDone());
}
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}finally {
System.out.println("1");
es.shutdown();
}
System.out.println("2");
}
}
分享到:
相关推荐
【归纳总结shi.doc】可能是对一段时间内学习内容的提炼,包含了关键知识点的梳理,比如类与对象的区别、封装、继承和多态性这面向对象的三大特性,以及异常处理机制和Java内存管理的基本原理,如垃圾回收机制。...
Java高并发编程是Java开发中...通过深入学习和实践这些知识点,你不仅能理解Java高并发编程的基础,还能提升解决实际问题的能力,为面试和职场发展打下坚实基础。不断练习和总结,你将成为一名出色的Java并发编程专家。
本文将深入探讨“实战Java高并发程序设计”文档中的核心知识点,帮助你掌握处理高并发场景的关键技术和策略。 1. **并发基础** - **线程与进程**:理解线程和进程的概念,它们的区别以及在多核处理器环境下的并行...
标题:“2021 - JAVA秋招基础知识点面试题”的知识点总结 1. JDK与JRE的区别: JDK是Java开发工具包,它包含了JRE和一些其他工具,如编译器javac和调试工具等。JRE是Java运行环境,仅用于运行Java程序。简单来说,...
### Java并发编程知识点总结 #### 1. 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过线程进行多处理器编程,利用多线程对运算密集型任务...
Java是世界上最流行的编程语言之一...以上是Java核心面试知识的全面概述,涵盖了从基础到高级的各个方面,理解并熟练掌握这些知识点对于准备Java面试至关重要。同时,不断实践和深入学习才能成为一名优秀的Java开发者。
下面将从多个角度来解析这个文档可能涵盖的关键知识点。 ### 一、Java并发编程基础 #### 1.1 并发与并行的概念 - **并发**:指多个事件在同一时间段内发生。 - **并行**:指多个事件在同一时刻发生。 在Java并发...
为了完成您的请求,我需要更多的文档内容,以便从中提取出关于Java虚拟机并发编程的具体知识点。 不过,我可以根据标题和描述给出的知识点范围,描述出Java虚拟机(JVM)和并发编程相关的知识点,以满足您提出的...
### Java并发编程基础知识点概述 #### 一、并发与并行的概念 - **并发**:指在同一时间段内,操作系统能够处理多个程序或任务,这些任务看似同时执行但实际上是由操作系统进行调度,交替执行的。 - **并行**:真正...
总的来说,Java线程并发库是Java程序员必备的知识点,它提供了强大且灵活的工具来处理并发问题,使得开发者能够编写出高效、可扩展的多线程应用。深入理解这些概念和类,对于优化Java应用的性能至关重要。
Java是企业级应用开发的重要语言,对于应届毕业生或者有意向进入IT行业的求职者来说,掌握Java面试中的常见知识点至关重要。以下是一些Java面试中经常被问到的关键知识点,结合提供的文件名,我们可以推断出这些文档...
以下是一些核心的Java知识点和面试考点: 1. **基础语法**: - 变量与数据类型:包括基本数据类型(如int、float、boolean)和引用数据类型(如类、接口、数组)。 - 控制结构:if-else语句、switch-case、for、...
### Java所有知识要点 #### 一、Java简介与开发环境 ...以上概述了 Java 的基础知识要点,从环境搭建到基本数据类型的使用,对于初学者来说是非常重要的入门指南。接下来的学习中将逐步深入到更复杂的概念和技术。
4. **返回值的任务**:如果任务需要返回值,可以实现`Callable`接口,使用`call()`方法替代`run()`,并通过`ExecutorService.submit()`提交任务。 5. **线程控制**:`Thread.sleep()`用于暂停当前线程,`yield()`...
以下将详细解读《Java语言编程规范--华为技术有限公司》中的关键知识点。 1. **命名规范** - 变量、常量、方法和类的命名应清晰明了,避免使用模糊或缩写。类名使用驼峰命名法,如`MyClassName`;接口名建议以`I`...
本资源是一个 Java 面试题集,涵盖了 Java 基础、集合、并发、MySQL、Kafka 等高频知识点。下面是对标题和描述中所说的知识点的详细说明: 动态代理 在 Java 中,动态代理可以分为 JDK 动态代理和 CGLIB 动态代理...
这里我们将深入探讨一些关于Java并发编程的关键知识点,并尝试理解这个库可能提供的功能。 首先,让我们了解一下Java并发库的基础。Java并发库是Java平台的核心部分,它提供了一系列的类和接口,使得开发者可以在多...
以上是《Java并发编程实战》中所涵盖的主要知识点,通过这些内容的学习,开发者不仅可以掌握Java并发编程的基础知识,还能深入了解并实践各种高级并发技术,从而有效地提升多线程应用程序的性能和可靠性。