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

  • Java InfoQ Trends Report - December 2022

    This report provides a summary of how the InfoQ Java editorial team and several Java Champions currently see the adoption of technology and emerging trends within the Java and JVM space in 2022. We focus on Java the language, as well as related languages like Kotlin and Scala, the Java Virtual Machine (JVM), and Java-based frameworks and utilities.

  • Virtual Threads: New Foundations for High-Scale Java Applications

    Virtual threads are a lightweight implementation of Java threads, delivered as a preview feature in Java 19.  They dramatically reduce the effort of writing, maintaining, and observing high-throughput concurrent applications. Virtual threads breathe new life into the familiar thread-per-request style of programming, allowing it to scale with near-optimal hardware utilization.

  • Boosting WebAssembly Performance with SIMD and Multi-Threading

    Early implementations of WebAssembly's SIMD and multi-threading proposals show that WebAssembly is narrowing the gap with native performance, by using SIMD instructions and multicore CPUs. Significant performance improvements have been observed in compute-intensive tasks (machine-learning, bio-informatics, scientific computing).

  • FPGAs Supercharge Computational Performance

    Originally used in the development of new hardware, new, cloud-based FPGAs are making the technology more accessible. The dramatic improvements in speed and lower costs over traditional CPUs means more companies can start benefiting from the technology. FPGAs are fundamentally concurrent, which makes them an ideal tool for data-intensive, parallel processing problems.

  • A Roadmap to the Programmable World

    The emergence of millions of remotely programmable devices in our surroundings will pose significant challenges for software developers. This article proposes a roadmap from today’s cloud-centric, data-centric Internet of Things systems to the Programmable World highlights those challenges that haven’t received enough attention yet.

  • Microservice Threading Models and their Tradeoffs

    A microservice's efficiency and resource consumption patterns are dramatically affected by its threading model. Choosing the correct model for your solution is a basic requirement for success. Glenn Engstrand investigates multiple options for a service's execution life-cycle, gives examples of the benefits and drawbacks for each choice, and provides recommendations for each model's implementation.

  • Go in Action - Review and Q&A with the Author

    Go in Action is a new book from Manning that aims to provide a comprehensive introduction to Go, both its syntax and implementation, and its most common idioms. InfoQ has spoken with William Kennedy, author of the book.

  • 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.

BT