Writing Java software that correctly and safely makes use of concurrency requires careful thought. Software that incorrectly accounts for concurrency can contain intermittent defects that elude even the most rigorous testing regimes. Static analysis tools can analyze source code or compiled bytecode to discover latent bugs hidden within code, long before it is executed.
Developing a light-weight, lockless, inter-thread communication framework in Java without using any locks, synchronizers, semaphores, waits, notifies; and no queues, messages, events or any other concurrency specific words or tools. Just get POJOs communicating behind plain old Java interfaces.
We interviewed Joe Duffy, author of Concurrent Programming on Windows, about his research into the use of type systems to ensure safe parallelism. 1
In this article, authors discuss Cray XMT, a massively multithreaded architecture framework that addresses the needs of irregular data-intensive applications in emerging fields.
Victor Grazi presents ten tips to keep in mind when architecting or developing concurrent applications in Java. 9
InfoQ spoke with book author Venkat Subramaniam about strategies and design approaches for programming concurrency on JVM and hardware capabilities to achieve concurrency. 4
Joe Duffy talks about the future of concurrency and parallelism. This interview covers his thoughts on the language designs, libraries, and patterns that are becoming important in modern programming. 1
IBM’s Yao Qi, Raja Das, and Zhi Da Luo describe jucprofiler, an alphaWorks tool designed to profile multicore applications that make use of the java.util.concurrent classes introduced in Java 5. 2
This article explains the impact memory barriers, or fences, have on the determinism of multi-threaded programs. 2
This article presents one developer's approach to dealing with the "fiendishly hard" OSGi issue of service dynamics. The basic problem is described and two different solutions are proposed. 2