Guide to the Future Interface in Java
In this article, we will overview the functionality of the Future interface as one of Java's concurrency constructs. We'll also look at several ways to create an asynchronous task, because a Future is just a way to represent the result of an asynchronous computation. The java.util.concurrent package was...
Concurrency in Java: The volatile Keyword
Multithreading is a common cause of headaches for programmers. Since humans are naturally not used to this kind of "parallel" thinking, designing a multithreaded program becomes much less straight-forward than writing software with a single thread of execution. In this article, we will take a look at some...
Synchronized Keyword in Java
This is the second article in the series of articles on Concurrency in Java. In the previous article, we learnt about the Executor pool and various categories of Executors in Java. In this article, we will learn what the synchronized keyword is and how we can use that in a...
Concurrency in Python
Computing has evolved over time and more and more ways have come up to make computers run even faster. What if instead of executing a single instruction at a time, we can also execute several instructions at the same time? This would mean a significant increase in the performance of...
Concurrency in Java: The Executor Framework
With the increase in the number of the cores available in the processors nowadays, coupled with the ever increasing need to achieve more throughput, multi-threading APIs are getting quite popular. Java provides its own multi-threading framework called the Executor Framework. What is the Executor Framework? The Executor Framework contains a...