Home » Page

Search Results for: Concurrency

Java Concurrency Tutorials

In this detailed Resource page, we feature an abundance of Java Concurrency Tutorials! The Java programming language and the Java virtual machine (JVM) have been designed to support concurrent programming, and all execution takes place in the context of threads. Objects and resources can be accessed by many separate threads; each thread has its own path of execution but can potentially ...

Read More »

Idiomatic concurrency: flatMap() vs. parallel() – RxJava FAQ

Simple, effective and safe concurrency was one of the design principles of RxJava. Yet, ironically, it’s probably one of the most misunderstood aspects of this library. Let’s take a simple example: imagine we have a bunch of UUIDs and for each one of them we must perform a set of tasks. The first problem is to perform I/O intensive operation per ...

Read More »

Java Concurrency Essentials

Concurrency is always a challenge for developers and writing concurrent programs can be extremely hard. There is a number of things that could potentially blow up and the complexity of systems rises considerably when concurrency is introduced. Howev ...

Read More »

Concurrency in Elixir

Erlang has been around for over 30 years and was built well before multi-core CPUs existed. Yet it’s a language that couldn’t be more relevant today! The underlying architecture of the language lends itself perfectly to the modern CPUs that are on every computer and mobile device. The computer I’m writing this article on has a 2.2 GHz Intel Core ...

Read More »

Benchmarking High-Concurrency HTTP Servers on the JVM

After a first post about HTTP clients, to which I redirect you for an introduction about efficient HTTP on the JVM, let’s now talk about HTTP servers. There are several benchmarks about HTTP servers out there but they’re often hindered by shortcomings such as: Not exercising effectively high-concurrency scenarios and, more generally, considering unrealistic and unrepresentative ones, for example: The pure-overhead scenario, ...

Read More »

A Beginner’s Guide to Addressing Concurrency Issues

Inserts, updates and deletes. Every framework tutorial starts with these and they are seen as the most basic functionality that just works. But what if two concurrent requests try to modify the same data? Or try to insert the same data that should be unique? Or the inserts and updates have side-effects that have to be stored in other tables ...

Read More »

High-Concurrency HTTP Clients on the JVM

HTTP is probably the most popular application-level protocol and there are many libraries that implement it on top of network I/O, which is a special (stream-oriented) case of general I/O. Since all I/O has a much in common 1, let’s start with some discussion about it. I’ll concentrate on I/O cases with a lots of concurrent HTTP requests, for example micro-services, ...

Read More »