Programming Concurrency

What Does Programming Concurrency Mean?

Concurrency — in the context of programming — is the ability for a program to be decomposed into parts that can run independently of each other.


This means that tasks can be executed out of order and the result would still be the same as if they are executed in order.

Techopedia Explains Programming Concurrency

Programming Concurrency is the ability of an algorithm or program to run more than one task at a time. The concept is similar to parallel processing, but with the possibility of many independent jobs doing different things at once rather than executing the same job.

Concurrent programs can be difficult to write simply because managing independent tasks requires coordination of resources. The famous Dining Philosophers Problem is a classic thought experiment that illustrates the complexities of resource sharing and concurrency.

Modern multitasking operating systems are concurrent with their ability to run many different programs at once. As computing hardware becomes cheaper, running complex jobs on clusters is becoming more feasible.

Several programming languages have been designed with concurrency in mind, including Go.


Related Terms

Margaret Rouse
Technology Expert

Margaret is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.