The innovation of parallel streams in Java 8 has diverted attention from a very substantial addition to the concurrency library, the CompletableFuture class. Author Maurice Naftalin eloquently explores CompletableFuture, why it is so useful in programming systems that depend on the interaction of asynchronous tasks, and how it complements fork/join-style parallelism, including parallel streams.
Java checked exceptions are a handy abstraction for a sequential workflow. When thread switches are introduced, even though the exception abstraction remains valid at the description level, the syntax support is no longer available. This article investigates how to overcome that syntactical limitation.
Concurrency bugs include race conditions, code reordering, field visibility issues, live locks, deadlocks and performance related bugs, such as contention and starvation. In this article Java Specialist Dr. Heinz Kabutz examines two threading bugs he discovered in the core Java libraries.
In this article Tal Weiss focuses on some lesser known API's in the new Java 8. 6
Writing Java software that correctly makes use of concurrency requires careful thought. Static analysis tools can analyze source code or compiled bytecode to discover latent bugs hidden within code. 1
The new book Real World OCaml provides a deep dive into the OCaml programming language. InfoQ caught up with the authors to hear about real world Ocaml users, its unique features, and much more.
Anatomy of a light-weight, lockless, inter-thread communication framework in Java. 17
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