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 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.
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 resolution to the debate around dropping sun.misc.Unsafe and other private APIs in Java 9 is now on the table. The big question remains: What will a post sun.misc.Unsafe world look like? 7
Elixir in action 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.
This article explores Java 8's new CompletableFuture class, its value in programming systems that depend on asynchronous interactions, and how it complements fork/join-style parallelism. 3
Java checked exceptions are a handy abstraction in sequential flows. But add threads and the syntactical support is no longer available. This article investigates how to overcome that limitation. 6
Concurrency bugs come in many forms. In this article Java Specialist Dr. Heinz Kabutz examines two threading bugs he discovered in the core Java libraries. 7
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