2.1.5 Thinking Concurrently Flashcards
Why do we have this topic?
As components of software development can happen at the same time.
What is parallel computing?
when more than one processor is executing seperate instructions at the same time
What is concurrent processing?
When more than one process is running from a program at once, with each process receiving a slice of processor time.
What is concurrent processing very closely related to?
Processor scheduling methods - round robin
What are the benefits of concurrent processing?
- Increased program throughput
- No time wasted by processor (as any interrupts will be put into a seperate queue and next process will start)
What are the drawbacks of concurrent processing?
- Not always possible
- A lot of computation can lead to slowing down of performance
What are the benefits of parallel computing?
- Tasks are completed simultaneously, so processing is faster
- Graphic processing performance (rendering) is greatly increased (individual part of graphic worked on by 1 processor)
- Multiple web tabs can be handled at the same time
What are the drawbacks of parallel computing?
-Overhead in coordinating the processors, so some tasks may run slower than with 1 processor
What is concurrency?
things happening simultaneously
What is a concurrent software licence?
a software licence that allows users to use software/program at the same time
What is an example of single concurrency?
Concurrent processing (although instructions are executed sequentially the ability to switch between tasks makes it seem like theyre being executed at the same time)
What is an example of multiprocessor concurrency?
Parallel computing
Why is concurrency important in software development?
We can identify components of a problem that can be solved simultaneously and determine points at which they need to be synchronised.
What is multithreading?
a technique where a section of a code can be used by multiple processors at different stages of execution
What type of a chart do we use to show plans of tasks in an efficient manner?
A Gantt Chart