🎁 New User? Get 20% off your first purchase with code NEWUSER20 Register Now →
Menu

Categories

Programming Concepts Intermediate

What is Concurrency?

The ability of a program to manage multiple tasks that can make progress during overlapping time periods.

Concurrency is about dealing with multiple things at once (structure), while parallelism is about doing multiple things at once (execution). Concurrency models include threads (shared memory), processes (isolated memory), async/await (cooperative), and actors (message passing).

Challenges include race conditions, deadlocks, livelocks, and starvation. Synchronization primitives (mutexes, semaphores, channels) coordinate access to shared resources. Modern languages increasingly favor message passing and async/await over shared-memory threading.

Related Terms

Queue
A data structure that follows First-In-First-Out (FIFO) ordering, where elements are added at the rear and removed from the front.
Regex (Regular Expression)
A sequence of characters that defines a search pattern, used for string matching, validation, and text manipulation.
Binary Search
An efficient search algorithm that finds a target value in a sorted array by repeatedly dividing the search interval in half.
Race Condition
A bug that occurs when the behavior of software depends on the timing or order of uncontrolled events like thread scheduling.
Data Structure
A way of organizing and storing data in a computer so it can be accessed and modified efficiently.
Singleton Pattern
A design pattern that restricts a class to a single instance and provides a global point of access to that instance.
View All Programming Concepts Terms →