Besides implementing non-blocking applications, Kotlin Coroutines can also easily be used for parallel or concurrent compute of code. This post not only explains how it can be done, but also how it is implemented on JVM level.
I have 11 years of experience in software engineering, design, architecture and operation. I studied computer science at the University of Ulm in Germany before becoming a software engineer for Mercedes.
Recently, I took over a position as software architect which caused me to question many of the patterns I “got used to” over the years. This led to many evenings and weekends doing research.
So why am I writing this blog?Read it here!
You oftern hear that 'Coroutines are like Threads but also different'. But if they are not threads, then what are they and how are they implemented on the JVM? This post will explain the basics.
When importing or transcoding photos or videos, the new files' creation date is usually not the date when they were taken. This messes up some program's file sorting. So let`s fix it.
Spring WebFlux is intended to optimize resource utilization if your application implements many blocking operations. It can however also be used to implement parallel compute like Java's CompletableFuture. This post explains how this can by done and why you SHOULD NOT do so.
If EventLoops are fundamentally just threads, then how do they differ from traditional Java threads and how do they prevent your CPU from starving when many blocking operations occur at the same time?
Spring's new WebClient is part of WebFlux / reactive Spring. But it is recommended to be used for Spring Web MVC as well. This post explains how WebClient is implemented in a non-reactive framework.