Explore tens of thousands of sets crafted by our community.
Concurrent Programming
18
Flashcards
0/18
Synchronization
A process that ensures that two or more concurrent processes or threads do not simultaneously execute some particular program segment known as critical section.
Atomic Operation
An operation that runs completely independently of any other processes and thus is uninterruptible once started until it finishes.
Concurrency
Refers to the execution of multiple instruction sequences at the same time. It involves performing more than one task simultaneously.
Race Condition
A type of problem that occurs when the system's substantive behavior is dependent on the sequence or timing of other uncontrollable events.
Deadlock
A situation in concurrent programming where two or more processes are unable to proceed because each is waiting for one of the others to release a resource.
Semaphore
An abstract data type used to control access to a common resource by multiple processes and avoid critical section problems in a concurrent system.
Thread
The smallest sequence of programmed instructions that can be managed independently by a scheduler.
Mutual Exclusion
A property of concurrent programming where at most one thread is allowed to execute a critical section at a time.
Parallel Computing
A type of computation in which many calculations or processes are carried out simultaneously, leveraging multiple processors or computers.
Process
An instance of a computer program that is being executed. It contains the program code and its current activity.
Lock
A mechanism used to enforce limits on access to a resource when multiple threads are competing for it.
Starvation
A condition where a thread is unable to gain regular access to shared resources and is unable to make progress, due to other threads being overly greedy.
Monitor
A synchronization construct that allows threads to have both mutual exclusion and the ability to wait (block) for a certain condition to become true.
Livelock
A situation in concurrent computing where two or more processes continually change their states in response to changes in the other processes without doing any useful work.
Critical Section
A part of a multi-process program that may not be concurrently executed by more than one of the program's processes.
Non-blocking Algorithm
An algorithm that accomplishes multi-threading synchronization without needing to block threads. Operations are designed to complete safely whether they take one step or more without needing to wait for other threads.
Context Switch
The process of storing and restoring the state (context) of a CPU so that multiple processes or threads can share a single CPU resource.
Scheduling Algorithm
A method by which work specified by some means is assigned to resources that complete the work. In concurrent programming, it determines how threads are scheduled to run.
© Hypatia.Tech. 2024 All rights reserved.