SLR22 Flashcards
In concurrent processing: What is the benefit of reactive processing
A user can interact with one program while others work in the background
In concurrent processing: What is the benefit of availability of services
A long-running task won’t delay short-running ones
In concurrent processing: What is the benefit of parallelism
A complex program can make use of multicore and / or multiprocessor systems
In concurrent processing: What is the benefit of controllability
A task requiring preconditions to proceed can be suspended and easily resumed later
In concurrent processing: What are the limitations of safety
Possibility of corrupting the consistent state of a program
In concurrent processing: What are the limitations of liveness and what is it known as
Tasks can be suspended and wait on each other indefinitely
A deadlock
In concurrent processing: What are the limitations of resource consumption
Threads can consume resources in regards to scheduling, context-switching and synchronisation
What are the two reasons why concurrency is needed
- The number of tasks completed in a given time increases
- Time that would be wasted by the processor or waiting on a user or another process is reduced
What is the process of thinking concurrently
Having 2 or more systems working together at the same time
What are the two parts of thinking concurrently
Concurrency
Parallelism
With concurrent processing: why can’t jobs be done in any order
Some jobs require then completion of other jobs before they can be started such as building the roof of a house first
Can a single core processor make use of concurrency
Yes
Can a single core processor make use of parallelism
No
How does concurrency work
Each core allocates a very small amount of time to each task and because it all happens so quickly it appears as though its all happening at the same time
How does parallelism work
Tasks (or groups of tasks) are split up over multiple cores so that they can be completed simultaneously