Module 2: Concurrency and Synchronization

0.0(0)
Studied by 0 people
call kaiCall Kai
Locked
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/36

flashcard set

Earn XP

Description and Tags

Vocabulary flashcards covering core concepts, definitions, and synchronization mechanisms from Module 2: Concurrency and Synchronization.

Last updated 12:01 AM on 9/15/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

37 Terms

1
New cards

Process

A program that is currently being executed, provided by the operating system with resources such as memory, CPU time, file handles, input/output resources, and system resources, typically possessing its own independent address space.

2
New cards

Thread

A lightweight unit of execution within a process that shares memory with other threads in the same process and has its own execution state.

<p>A lightweight unit of execution within a process that shares memory with other threads in the same process and has its own execution state.</p>
3
New cards

Concurrency

The ability of multiple tasks to make progress during overlapping periods by switching execution, which does not necessarily mean tasks execute at the exact same instant.

<p>The ability of multiple tasks to make progress during overlapping periods by switching execution, which does not necessarily mean tasks execute at the exact same instant.</p>
4
New cards

Parallelism

The simultaneous execution of multiple tasks at the exact same time, typically using multiple processing units or CPU cores.

<p>The simultaneous execution of multiple tasks at the exact same time, typically using multiple processing units or CPU cores.</p>
5
New cards

Throughput

The total amount of material, data, or work that a system handles, processes, or produces within a specific period of time, measuring real operational capacity and speed.

6
New cards

Shared Resource

A resource, such as shared variables, databases, files, memory locations, printers, network connections, counters, or queues, that can be accessed by multiple processes or threads.

7
New cards

Race Condition

A flaw that occurs when the result of a program depends on the timing or order in which concurrent tasks execute while competing to access or modify shared data.

8
New cards

Lost Update

A specific outcome of a race condition where concurrent write operations overwrite each other, causing one thread's update to be lost.

9
New cards

Critical Section

A portion of a program where a shared resource is accessed or modified, requiring careful control when accessible by multiple threads.

10
New cards

Critical Section Problem

The problem that arises when multiple processes or threads attempt to access the critical section simultaneously, potentially causing race conditions.

11
New cards

Mutual Exclusion

A synchronization requirement and principle ensuring that only one process or thread can enter or access a particular critical section or resource at a time.

12
New cards

Progress

A critical section requirement stating that if no process is inside the critical section, a process ready to enter should not be unnecessarily prevented from doing so.

13
New cards

Bounded Waiting

A critical section requirement stating that a process should not wait indefinitely to enter the critical section.

14
New cards

Deadlock

A state in which two or more processes or threads become permanently blocked because each is waiting for a resource held by another.

15
New cards

Hold and Wait

One of the four necessary conditions for deadlock, occurring when a process holds at least one resource while waiting to acquire another resource held by another process.

16
New cards

No Preemption

One of the four necessary conditions for deadlock, specifying that a resource cannot be forcibly taken away from a process; it must be released voluntarily by the process holding it.

17
New cards

Circular Wait

One of the four necessary conditions for deadlock, in which a closed chain of processes exists where each process waits for a resource held by another process in the cycle.

18
New cards

Deadlock Prevention

Methods used to prevent deadlocks by ensuring that at least one of the four necessary conditions for deadlock cannot hold.

19
New cards

Deadlock Avoidance

A strategy that dynamically makes resource-allocation decisions to keep the system in a safe state and prevent deadlock.

20
New cards

Banker's Algorithm

A well-known deadlock avoidance algorithm used to determine whether granting a resource request could potentially lead to an unsafe state or deadlock.

21
New cards

Deadlock Detection and Recovery

A strategy where a system allows deadlocks to occur, detects them, and recovers by terminating processes, releasing resources, preempting resources, or restarting operations.

22
New cards

Synchronization

Techniques used to coordinate concurrent processes or threads so that they access shared resources safely and execute in an appropriate order.

23
New cards

Lock

A synchronization mechanism used to control access to a shared resource, requiring other threads to wait while one thread holds ownership.

24
New cards

Mutex

A mutual exclusion lock specifically designed to ensure that only one thread enters a protected critical section at a time.

25
New cards

Semaphore

A synchronization mechanism that uses a counter to control access to shared resources for one or multiple threads.

26
New cards

Binary Semaphore

A semaphore with two possible states (0 for unavailable, 1 for available) used to control access to a shared resource.

27
New cards

Counting Semaphore

A semaphore that uses a non-negative counter to represent and manage multiple available instances of a resource.

28
New cards

Monitor

A higher-level synchronization construct that combines shared data, operations accessing the data, and synchronization mechanisms so that only one thread executes inside at a time.

29
New cards

Condition Variable

A synchronization construct that allows a thread to wait until a particular condition becomes true, avoiding continuous checking.

30
New cards

Producer-Consumer Problem

A classic concurrency problem where a producer generates data into a shared buffer and a consumer retrieves it, requiring synchronization to handle buffer full and buffer empty states.

31
New cards

Readers-Writers Problem

A classic concurrency problem involving shared resource access where multiple readers can access concurrently, but writers require exclusive access.

32
New cards

Starvation

A synchronization problem where a thread waits for a very long time because other threads repeatedly receive access to the shared resource first.

33
New cards

Livelock

A state in which threads remain active and continuously change state without making useful progress, continually failing, retrying, and wasting CPU cycles.

<p>A state in which threads remain active and continuously change state without making useful progress, continually failing, retrying, and wasting CPU cycles.</p>
34
New cards

Priority Inversion

A scheduling problem where a high-priority task is forced to wait for a low-priority task to release a shared resource.

35
New cards

Barrier

A synchronization mechanism that forces a group of threads to wait until all participating threads reach a specific point.

36
New cards

Atomic Operation

An operation treated as indivisible, preventing other threads from observing it in a partially completed state.

37
New cards

Contention

A scenario that occurs when multiple threads or processes try to access the same limited hardware or software resource at the same time.