01
~/data-structures-algorithms

Dynamic Connectivity Problem

What is Dynamic Connectivity? In computing and graph, a dynamic connectivity structure is a data structure that dynamically maintains information about the connected components of graph. Dynamic Connectivity Problem Given a set of N obj…

Dynamic Connectivity Problem
02
~/java

Parallelism and Concurrency

Concurrency and Parallelism are both concepts which are used in multithreading. Concurrency refers to the sequential completion of small pieces of multiple tasks such that over a period of time both of them are completed. This means tha…

Parallelism and Concurrency
03
~/java

Executor Service in Java

In the previous article we saw how we can implement basic multithreading in java. However to design efficient and reliable systems using multithreading we need to understand concepts pertaining to the topic of concurrency to actually bu…

Executor Service in java
04
~/java

Synchronization in Java

Synchronization allows for only one thread to access a piece of code or an object at any given moment. This prevents simultaneous requests to access the data by multiple threads. It is a mechanism put in place to control access to te re…

Synchronization in java
05
~/java

Multithreading in Java

Multithreading is a way for us to execute the same process across multiple threads. A thread can be understood as a small unit which executes a program/process. A process can be executed by multiple threads at the same time simultaneous…

Multithreading in Java