Java并发编程实践 目录并发编程—— ConcurrentHashMap并发编程—— 阻塞队列和生产者-消费者模式并发编程—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程—— Callable和Future并发编程—— CompletionService : Ex...
分类:
其他好文 时间:
2014-09-25 20:36:17
阅读次数:
143
ListenableFuture的说明 并发编程是一个难题,但是一个强大而简单的抽象可以显著的简化并发的编写。出于这样的考虑,Guava 定义了 ListenableFuture接口并继承了JDK concurrent包下的Future 接口,ListenableFuture允许你注册回调方法(c....
分类:
其他好文 时间:
2014-09-24 20:19:27
阅读次数:
207
ThreadPoolExecutor提供了另一个非常强有力的接口,那就是callable。这个接口和runnable类似,但是实现这个
接口的方法是call方法,这个方法是可以返回值的,弥补了runnable不能返回值的悲哀。而且这个方法可以配合ThreadP
oolExecutor使用,获得Future接口,从这个接口的名字我们就能知道,返回的这个类似于指向这个线程的一个指针,我
们能通过...
分类:
编程语言 时间:
2014-09-23 22:57:05
阅读次数:
250
java.util.concurrent.Future是Java提供的接口,表示异步执行的状态,Future的get方法会判断任务是否执行完成,如果完成就返回结果,否则阻塞线程,直到任务完成。
// Java FutureTask.get()
public V get() throws InterruptedException, ExecutionException {
i...
分类:
Web程序 时间:
2014-09-23 14:11:04
阅读次数:
294
1. 背景在Java5的多线程中,可以使用Callable接口来实现具有返回值的线程。使用线程池的submit方法提交Callable任务,利用submit方法返回的Future存根,调用此存根的get方法来获取整个线程池中所有任务的运行结果。方法一:如果是自己写代码,应该是自己维护一个Collec...
分类:
编程语言 时间:
2014-09-16 14:02:50
阅读次数:
449
Java并发编程实践 目录并发编程—— ConcurrentHashMap并发编程—— 阻塞队列和生产者-消费者模式并发编程—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程—— Callable和Future并发编程—— CompletionService : Ex...
分类:
其他好文 时间:
2014-09-16 10:34:00
阅读次数:
193
Java并发编程实践 目录并发编程—— ConcurrentHashMap并发编程—— 阻塞队列和生产者-消费者模式并发编程—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程—— Callable和Future并发编程—— CompletionService : Ex...
分类:
其他好文 时间:
2014-09-15 19:04:59
阅读次数:
212
Java并发编程实践 目录并发编程—— ConcurrentHashMap并发编程—— 阻塞队列和生产者-消费者模式并发编程—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程—— Callable和Future概述第1部分Callable第2部分Future第3部分 ...
分类:
其他好文 时间:
2014-09-15 17:26:39
阅读次数:
287
package concurrency.callable;import java.util.concurrent.Callable;/** * * Callable 与 Future 是为了适应 jdk1.6多并发产生的 * Callable 与 Runnable接口 * 共同 : * ...
分类:
编程语言 时间:
2014-09-13 21:27:45
阅读次数:
291
尾递归与Continuation的联系前面谈了尾递归与Continuation,但是感觉还有些要补充下。赌王娱乐城Continuation是一种非常古老的程序结构,简单说来就是entire default future of a computation, 即对程序“接下来要做的事情”所进行的一种建模...
分类:
其他好文 时间:
2014-09-13 18:33:55
阅读次数:
186