CompletionService用于提交一组Callable任务,其take方法返回已完成的一个Callable任务对应的Future对象。 如果你向Executor提交了一个批处理任务,并且希望在它们完成后获得结果。为此你可以将每个任务的Future保存进一个集合,然后循环这个集合调用Futur ...
分类:
其他好文 时间:
2017-05-18 12:42:01
阅读次数:
232
get(long timeout, TimeUnit unit)用来获取执行结果,如果在指定时间内,还没获取到结果,就直接返回null。 而FutureTask即可以作为Runnable又可以作为Future,这样就既可以用ExecutorService的execute执行任务,也可以用Execut ...
分类:
其他好文 时间:
2017-05-18 12:38:44
阅读次数:
171
1 import java.util.Random; 2 import java.util.concurrent.ExecutorService; 3 import java.util.concurrent.Executors; 4 import java.util.concurrent.locks... ...
分类:
其他好文 时间:
2017-05-18 12:34:51
阅读次数:
238
一、 使用Callable 接口public class DatePoolServer { public static void main(String[] args) { ExecutorService pool = Executors.newFixedThreadPool(50);// 创建50 ...
分类:
编程语言 时间:
2017-05-16 13:04:16
阅读次数:
208
Java多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。 1、继承Thread类实现多线程继承Thread类的方法尽管被 ...
分类:
编程语言 时间:
2017-05-13 09:59:45
阅读次数:
224
上一篇讲了Executor接口的设计,目的是将任务的运行和任务的提交解耦。能够隐藏任务的运行策略。这篇说说ExecutorService接口。它扩展了Executor接口,对Executor的生命周期进行管理。并进行了进一步的扩展。 Executor负责执行任务。它的生命周期有3个:执行,关闭和已终 ...
分类:
编程语言 时间:
2017-05-05 21:47:22
阅读次数:
169
接口 Java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。壹個 ExecutorService 实例因此特别像壹個线程池。事实上,在 java.util.concurrent 包中的 ExecutorService 的实现就是壹個 ...
分类:
其他好文 时间:
2017-04-23 23:18:32
阅读次数:
336
package org.rui.thread.block; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit ...
分类:
编程语言 时间:
2017-04-22 20:41:22
阅读次数:
195
Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Executor,Executors,ExecutorService,CompletionService,Future,Callable等。他们的关系为: 并发编程的一种编程方式是把任务拆分 ...
分类:
编程语言 时间:
2017-04-17 10:11:29
阅读次数:
232
Java 多线程实现方式主要有三种(区别): 1)继承Thread类:线程执行完后都没有返回值。 2)实现Runnable接口:线程执行完后都没有返回值。 3)使用ExecutorService、Callable、Future实现有返回结果的多线程。这一种是带有返回值的。 1、继承Thread类实现 ...
分类:
编程语言 时间:
2017-04-10 17:43:45
阅读次数:
298