BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Concurrency Content on InfoQ

  • UED: The Unified Execution Diagram

    Today’s software applications have a lot of concurrent tasks that are distributed over multiple threads, processes, processors and PCs. This article introduces a visual modeling technique to describe and specify the application’s execution architecture. Within Philips Healthcare the Unified Execution Diagram has proven to be very useful for designing and documenting the execution architecture.

  • A Post-Apocalyptic sun.misc.Unsafe World

    The removal of sun.misc.Unsafe and other private APIs in Java 9 has in recent weeks divided the Java community perhaps as never before in its 20 year history. Even though a resolution has now been proposed and a migration path presented, the big question remains: What will a post sun.misc.Unsafe world look like?

  • Elixir in Action Review and Q&A with the Author

    Elixir in action is a new release from Manning that aims to introduce readers to Elixir and the Erlang virtual machine while also discussing concurrent programming topics, fault-tolerance, and topics related to high-availability. InfoQ has interviewed Saša Jurić, the book's author.

  • Functional-Style Callbacks Using Java 8's CompletableFuture

    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.

  • Rescuing Checked Exceptions in Asynchronous Java Code

    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.

  • Hunting Java Concurrency Bugs

    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.

  • 8 Great Java 8 Features No One's Talking about

    In this article Tal Weiss focuses on some lesser known API's in the new Java 8.

  • Discover and Diagnose Java Concurrency Problems Using Contemplate's ThreadSafe

    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.

  • Book Review and Interview: Real World OCaml

    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.

  • Inter-thread communications in Java at the speed of light

    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.

  • Joe Duffy on Uniqueness and Reference Immutability for Safe Parallelism

    We interviewed Joe Duffy, author of Concurrent Programming on Windows, about his research into the use of type systems to ensure safe parallelism. This work was presented in the paper titled Uniqueness and Reference Immutability for Safe Parallelism. We asked for this interview because there seemed to be a lot of misconceptions about this research project.

  • Designing Next-Generation Massively Multithreaded Architectures for Irregular Applications

    In this article, authors discuss Cray XMT, a massively multithreaded architecture framework that addresses the needs of irregular data-intensive applications in emerging fields like bioinformatics, semantic databases, natural language processing, and social network analysis. They also compare this approach with other multithreaded architectures such as GPUs and UltraSPARC processors.

BT