Concurrency and Parallelism Flashcards

1
Q

Concurrency

A

Handling multiple tasks at once, but not necessarily simultaneously. The execution of the tasks shouldn’t interfere with each other.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Parallelism

A

Executing multiple tasks simultaneously, often using multiple CPU cores or machines.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Multithreading

A

A method of concurrency by running multiple threads within a single process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Thread Safety

A

Ensuring that shared resources are accessed in a way that avoids race conditions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Locks and Synchronisation

A

Mechanisms to control access to shared resources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Mutexes

A

Ensures only one thread accesses a resource at a time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Semaphores

A

Allow a limited number of threads to access a resource.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Deadlocks

A

Situation where two or more threads are blocked forever, waiting for each other.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Thread Pools

A

Managing a group of threads to execute them efficiently.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

MapReduce

A

A framework for processing large datasets in parallel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Data Parallelism

A

Splitting data across multiple processors to perform the same operation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Task Parallelism

A

Splitting tasks across processors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Consensus Algorithms

A

Used for agreement in distributed systems.
Examples: Paxos, Raft

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Message Passing

A

Communication between distributed components (e.g., via REST, gRPC, or message queues like Kafka).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly