`

java需要关注的知识点---并发之从任务中产生返回值

 
阅读更多
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");
			
	}
}

分享到:
评论

相关推荐

    中信java培训资料------第一部分

    【归纳总结shi.doc】可能是对一段时间内学习内容的提炼,包含了关键知识点的梳理,比如类与对象的区别、封装、继承和多态性这面向对象的三大特性,以及异常处理机制和Java内存管理的基本原理,如垃圾回收机制。...

    计算机后端-Java-Java高并发从入门到面试教程-可.zip

    Java高并发编程是Java开发中...通过深入学习和实践这些知识点,你不仅能理解Java高并发编程的基础,还能提升解决实际问题的能力,为面试和职场发展打下坚实基础。不断练习和总结,你将成为一名出色的Java并发编程专家。

    Java高并发经典文档-MOBI-可在电子书里查看

    本文将深入探讨“实战Java高并发程序设计”文档中的核心知识点,帮助你掌握处理高并发场景的关键技术和策略。 1. **并发基础** - **线程与进程**:理解线程和进程的概念,它们的区别以及在多核处理器环境下的并行...

    2021 - JAVA秋招基础知识点面试题

    标题:“2021 - JAVA秋招基础知识点面试题”的知识点总结 1. JDK与JRE的区别: JDK是Java开发工具包,它包含了JRE和一些其他工具,如编译器javac和调试工具等。JRE是Java运行环境,仅用于运行Java程序。简单来说,...

    Java并发编程-并发编程知识点总结.docx

    ### Java并发编程知识点总结 #### 1. 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过线程进行多处理器编程,利用多线程对运算密集型任务...

    JAVA核心面试知识整理-最全

    Java是世界上最流行的编程语言之一...以上是Java核心面试知识的全面概述,涵盖了从基础到高级的各个方面,理解并熟练掌握这些知识点对于准备Java面试至关重要。同时,不断实践和深入学习才能成为一名优秀的Java开发者。

    JAVA并发编程实践 中文 高清 带书签 完整版 Doug Lea .pdf

    下面将从多个角度来解析这个文档可能涵盖的关键知识点。 ### 一、Java并发编程基础 #### 1.1 并发与并行的概念 - **并发**:指多个事件在同一时间段内发生。 - **并行**:指多个事件在同一时刻发生。 在Java并发...

    Java虚拟机并发编程.pdf

    为了完成您的请求,我需要更多的文档内容,以便从中提取出关于Java虚拟机并发编程的具体知识点。 不过,我可以根据标题和描述给出的知识点范围,描述出Java虚拟机(JVM)和并发编程相关的知识点,以满足您提出的...

    入门掌握Java并发编程的基石-视频教程网盘链接提取码下载.txt

    ### Java并发编程基础知识点概述 #### 一、并发与并行的概念 - **并发**:指在同一时间段内,操作系统能够处理多个程序或任务,这些任务看似同时执行但实际上是由操作系统进行调度,交替执行的。 - **并行**:真正...

    自用ppt-2012-11-11java线程并发库

    总的来说,Java线程并发库是Java程序员必备的知识点,它提供了强大且灵活的工具来处理并发问题,使得开发者能够编写出高效、可扩展的多线程应用。深入理解这些概念和类,对于优化Java应用的性能至关重要。

    校招Java面试常见知识点

    Java是企业级应用开发的重要语言,对于应届毕业生或者有意向进入IT行业的求职者来说,掌握Java面试中的常见知识点至关重要。以下是一些Java面试中经常被问到的关键知识点,结合提供的文件名,我们可以推断出这些文档...

    Java知识点,面试考点

    以下是一些核心的Java知识点和面试考点: 1. **基础语法**: - 变量与数据类型:包括基本数据类型(如int、float、boolean)和引用数据类型(如类、接口、数组)。 - 控制结构:if-else语句、switch-case、for、...

    Java所有知识要点

    ### Java所有知识要点 #### 一、Java简介与开发环境 ...以上概述了 Java 的基础知识要点,从环境搭建到基本数据类型的使用,对于初学者来说是非常重要的入门指南。接下来的学习中将逐步深入到更复杂的概念和技术。

    Thinking in Java知识点总结

    4. **返回值的任务**:如果任务需要返回值,可以实现`Callable`接口,使用`call()`方法替代`run()`,并通过`ExecutorService.submit()`提交任务。 5. **线程控制**:`Thread.sleep()`用于暂停当前线程,`yield()`...

    Java语言编程规范--华为技术有限公司

    以下将详细解读《Java语言编程规范--华为技术有限公司》中的关键知识点。 1. **命名规范** - 变量、常量、方法和类的命名应清晰明了,避免使用模糊或缩写。类名使用驼峰命名法,如`MyClassName`;接口名建议以`I`...

    1000道Java 程序员必备面试题-V1版.pdf

    本资源是一个 Java 面试题集,涵盖了 Java 基础、集合、并发、MySQL、Kafka 等高频知识点。下面是对标题和描述中所说的知识点的详细说明: 动态代理 在 Java 中,动态代理可以分为 JDK 动态代理和 CGLIB 动态代理...

    Android-Java并发工具类库

    这里我们将深入探讨一些关于Java并发编程的关键知识点,并尝试理解这个库可能提供的功能。 首先,让我们了解一下Java并发库的基础。Java并发库是Java平台的核心部分,它提供了一系列的类和接口,使得开发者可以在多...

    Java并发编程实战

    以上是《Java并发编程实战》中所涵盖的主要知识点,通过这些内容的学习,开发者不仅可以掌握Java并发编程的基础知识,还能深入了解并实践各种高级并发技术,从而有效地提升多线程应用程序的性能和可靠性。

Global site tag (gtag.js) - Google Analytics