Title: Concurrency
Author: Kriko
Published: May 25, 2023
Last modified: Jul 7, 2026

---

 1.  [Home](https://kriko.io/) /
 2.  [Glossary](https://kriko.io/glossary) /
 3.  C Letter

# Concurrency

**Concurrency** is a computing approach in which the progress of multiple tasks 
is managed within the same period. These tasks do not necessarily have to run physically
at the exact same moment. A single-processor system can switch rapidly between tasks
and allow them to make overlapping progress. When multiple tasks are executed simultaneously
on separate processor cores, the process is more accurately described as parallel
computing.

Concurrent systems aim to use computing resources more efficiently and improve application
responsiveness. For example, an application can continue operating while it waits
for [data](https://kriko.io/services/data-analysis-insight) from a network request.
This approach can be used on personal computers, servers, mobile applications and
distributed systems. It is particularly valuable in systems that must manage many
independent tasks or user requests.

Processes or threads within a concurrent program may progress independently. However,
coordination is required when they access the same memory, file or system resource.
Synchronisation mechanisms ensure that shared resources are accessed in a controlled
manner. Without appropriate controls, problems such as race conditions, inconsistent
[data](https://kriko.io/services/data-analysis-insight) and deadlocks may occur.

Concurrency is not limited to big [data](https://kriko.io/services/data-analysis-insight)
environments. Web servers, operating systems, messaging applications, games and 
user interfaces can all use concurrent processing. In big [data](https://kriko.io/services/data-analysis-insight)
systems, separate portions of a dataset may be processed within the same period 
and distributed across multiple machines. Memory allocation, network communication
and processing order must be managed carefully in these environments.

**Multithreading** allows multiple threads to operate within the same program process.
Threads may share the same memory, making communication between them relatively 
fast. However, uncontrolled access to shared resources can produce incorrect or 
inconsistent results. Locks, semaphores and other synchronisation tools may therefore
be required.

**Asynchronous programming** allows a program to continue with other work while 
it waits for an operation to finish. For example, an application may accept another
user command while waiting for a server response. This approach is particularly 
useful for network, file and database operations that involve considerable waiting
time. However, asynchronous programming does not automatically mean that tasks are
running simultaneously or in parallel.

**Pre-emptive multitasking** allows the operating system to control how running 
tasks use the processor. The system can interrupt one task and assign processing
time to another. This prevents a single program from continuously occupying the 
processor and helps maintain responsiveness. Task switching and priority management
are handled by the operating system scheduler.

Concurrent programming can improve performance and resource utilisation, but it 
can also make software development more complex. The order in which tasks finish
may not always be predictable, and the same program may behave differently across
separate executions. Shared [data](https://kriko.io/services/data-analysis-insight),
error handling and dependencies between tasks must therefore be designed carefully.
When implemented correctly, concurrency can make systems more scalable, efficient
and responsive.

## Discover it in the dictionary

###  Internal Server Errors: 5xx

5xx status codes are the group of HTTP status codes that represent server-side error
responses. When a user tries to access a web page…

###  Natural Language Processing (NLP)

Natural Language Processing, or NLP, is a field of artificial intelligence that 
enables computer systems to understand and communicate using human language. It 
is…

###  First Contentful Paint (FCP)

First Contentful Paint, commonly abbreviated as FCP, is a performance metric that
measures the time at which users first see an actual content element…

###  Influencer Marketing

Influencer marketing refers to marketing activities carried out with people who 
can reach a specific audience on social media, have built trust with their…

###  Mobile-Friendly Content

Mobile-friendly content refers to website content that is easy to read, fast to 
load and simple to use on mobile devices such as smartphones…

###  Data Warehouse

A data warehouse, commonly abbreviated as DWH, is a data management system that 
brings information from different sources together for analysis and reporting. Companies…

###  Unicorn

A unicorn is a term used in the startup and entrepreneurship ecosystem to describe
a privately held company valued at 1 billion dollars or…

###  Search Volume

Search volume is an SEO and digital marketing metric that shows how many times a
specific keyword or phrase is searched within a given…

###  On-page SEO

On-page SEO refers to optimisation activities carried out on website pages to make
them more understandable, accessible and useful for both search engines and…

## Track the digital heartbeat  with Kriko

Subscribe to receive curated insights, news, and ideas shaping the digital landscape.

  By checking this box, you acknowledge and accept our [privacy policy](https://kriko.io/privacy-policy).