Home » Multithreading

Tag Archives: Multithreading

Reactive’s Looming Doom. Part III: Advanced Reactive

1. Introduction The last post presented the fundamental concepts of the reactive approach, including a specification and its implementation. Now it is time to show where the reactive approach shines, including those possibilities that are often overlooked. Table Of Contents 1. Introduction 2. Reactor docs 3. Flux/Mono states 4. Operator .publishOn() 5. Best use cases 5.1 Streaming IO 5.2 Events 5.3 Resiliency 5.4 Worth mentioning ...

Read More »

Reactive’s Looming Doom. Part II: Fundamentals of Reactive

1. Introduction The last post provided a comparison of multi-threading APIs throughout Java’s lifespan. In this post, we will dive into the Reactive philosophy to see how it differs from the CompletableFuture API Table Of Contents 1. Introduction 2. Specs 3. Implementation 3.1 Basics 3.2 Operators .subscribe() and .subscribeOn() 3.3 Operator .flatMap() 4. Conclusion 2. Specs According to the Reactive ...

Read More »

Reactive’s Looming Doom. Part I: Evolution

1. Introduction Multithreading in Java has come a long evolutionary way from the original monitor concept and threads mapped to native OS threads to modern asynchronous libraries and implementation of lightweight threads (formerly “fibers”) as part of Project Loom. At the same time, while the language was evolving, the community was developing its own frameworks and practices. With the release ...

Read More »

The dreaded double checked locking idiom in Java

The issue discussed in this article is not new, but still tricky even for seasoned developers. The singleton pattern is a common programming idiom. Nevertheless when used with multiple threads, some type of synchronization must be done in order not to break the code. In a relevant article our JCG partner Manoj Khangaonkar from The Khangaonkar Report examines the double-checked locking idiom in ...

Read More »

Java Best Practices – DateFormat in a Multithreading Environment

This is the first of a series of articles concerning proposed practices while working with the Java programming language. All discussed topics are based on use cases derived from the development of mission critical, ultra high performance production systems for the telecommunication industry. Prior reading each section of this article it is highly recommended that you consult the relevant Java ...

Read More »