concurrency

Concurrency and Parallelism In Akka

Reading Time: 3 minutes After going through the previous blogs, we are now familiar with the basics of Akka. Moving forward let us have a look at concurrency and parallelism in Akka actors. Concurrency and parallelism are related concepts, but there are small differences. Message Processing in Akka Actors First, let us have a look at message processing in Akka actors. Akka follows single-threaded illusion. That means each actor Continue Reading

Stream Optimization in Java-8

Reading Time: 4 minutes In java-8 streams are introduced to handle huge data so we can process the data efficiently. Streams are lazy and its do not process elements until a terminal condition is reached. After a terminal condition is met then each element is processed individually. If there is a short-circuiting operation at the end, the stream processing will terminate whenever all the conditions are satisfied. The new Continue Reading

Concurrency in Rust is indeed fearless

Reading Time: 3 minutes In modern operating systems, the executed program’s code is run in a process, and the operating system manages multiple processes at once. Within your program, you can also have independent parts that run simultaneously. The features that run these independent parts are called threads. A thread is a part of the process that runs along with the main process using a technique called context-switching. So, we can Continue Reading

Host a Wasm module easily on Raspberry Pi Part 2

Reading Time: 6 minutes This blog is a continuation of one of my previous blogs, if you have not checked that out, then here is the link. You can read that and then continue on this blog. This blog is a part of a series on WebAssembly. I have written several other blogs on wasm, wabt , wasm-bindgen and wasmi, etc. Feel free to check them out also. WebAssembly Continue Reading

Multi threading in JAVA

Reading Time: 3 minutes In this blog we will understand how Multi threading works in JAVA and why is it so Important to understand? What is Multithreading? Multithreading in Java is a process of executing two or more threads simultaneously to maximum utilisation of CPU. Multi-threaded applications execute two or more threads run concurrently. Hence, it is also known as Concurrency in Java. Advantages of multithread: The users are not Continue Reading

Concurrency using Scala: Problems vs Tools

Reading Time: 5 minutes When we think about modelling a certain concurrent problem in Scala, There are a lot of tools in terms of libraries and frameworks to choose over vs the type of concurrency Problem. As part of this blog, we will be talking about where these tools can be utilised at their best. On a broad level, we can classify the tools into categories. There are concurrency Continue Reading

Achieving Concurrency with Akka Actors

Reading Time: 3 minutes Java comes with a built-in multi-threading model based on shared data and locks. To use this model, you decide what data will be shared by multiple threads and mark as “synchronized” sections of the code that access the shared data. It also provides a locking mechanism to ensure that only one thread can access the shared data at a time. Lock operations remove possibilities for Continue Reading

Java concurrency: Reentrant Locks

Reading Time: 3 minutes Hello readers! Welcome to another blog in the Java concurrency series. Today, we are going to look at the Reentrant Locks in Java. What it is, how to use it, and mainly, what is the difference between using Reentrant Locks and synchronization. So, let’s dive straight into it. Reentrant Locks Reentrant locks work just like the synchronized locks in java, but have much more facilities Continue Reading

Concurrency API

Guide to Java 8 Concurrency API using Executors

Reading Time: 3 minutes Working with the Thread class in Java can be very tedious and error-prone. Due to this reason, Concurrency API was introduced back in 2004 with the release of Java 5 and then enhanced with every new Java release.The API is located in package java.util.concurrent. It contains a set of classes that make it easier to develop concurrent (multithreaded) applications in Java.  The executor services are one of the most Continue Reading