
并发编程
泊川
现任阿里巴巴研发工程师,多年从业经验,技术扎实精湛,专注互联网、企业级应用系统开发。
展开
-
如何给ExecutorService异步计算设置超时
ExecutorService接口使用submit方法会返回一个Future对象,Future表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并获取计算的结果。计算完成后只能使用get方法来获取结果,如有必要,计算完成前可以阻塞此方法。取消则由cancel方法来执行。还提供了其他方法,以确定任务是正常完成还是被取消了。一旦计算完成,就不能再取消计算。如果为了可取消性而使用Fu原创 2014-07-01 19:35:03 · 4918 阅读 · 0 评论 -
Java中的volatile
关于volatile在JVM 1.2之前,Java的内存模型实现总是从主存读取变量,是不需要进行特别的注意的。而随着JVM的成熟和优化,现在在多线程环境下volatile关键字的使用变得非常重要。在当前的Java内存模型下,线程可以把变量保存在本地内存(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存原创 2014-06-17 14:49:15 · 482 阅读 · 0 评论 -
Java 7 Fork/Join 并行计算框架概览
应用程序并行计算遇到的问题 当硬件处理能力不能按摩尔定律垂直发展的时候,选择了水平发展。多核处理器已广泛应用,未来处理器的核心数将进一步发布,甚至达到上百上千的数量。而现在 很多的应用程序在运行在多核心的处理器上并不能得到很好的性能提升,因为应用程序的并发处理能力不强,不能够合理有效地的利用计算资源。线性的计算只能利 用n分之一的计算支援。 要提高应用程序在多核处理器上的执行效原创 2014-06-17 14:49:05 · 560 阅读 · 0 评论 -
JDK7新特性之fork/join框架
The fork/join framework is an implementation of the ExecutorService interface that helps you take advantage of multiple processors. It is designed for work that can be broken into smaller pieces recur原创 2014-06-17 14:48:58 · 599 阅读 · 0 评论 -
ReentrantReadWriteLock优势及使用
1)优势多线程读取并修改一个资源时,我们过去通常使用 synchronized同步锁,这个是有性能损失的,很多情况下:资源对象总是被大量并发读取,偶尔有一个线程进行修改,也就是说:以读为主,修改不是 很频繁,那么我们在JDK5.0中用ReentrantReadWriteLock就获得比synchronized更高并发性能,高并发性能是我使用 JDK5.0主要目的,而不是annotation和泛原创 2014-06-17 14:47:44 · 1191 阅读 · 0 评论