Preview

05 - Thinking concurrently

 1. Concurrent processing is any situation in the design or programming of a system when you would want more than one thing happening at the same time.

  FALSE

  TRUE

 2. Most modern computers can process a number of instructions at the same time (thanks to _________________________________________________).

  multicore processors and pipelining

  binary trees and divide and conquer algorithms

  graphs and hash tables

  arrays and serial binary trees

 3. Modules processed at the same time should always be dependent on each other and never independent.

  TRUE

  FALSE

 4. _______________ can be commonly used to visualise projects that are occur concurrently.

  Gantt charts

  Divide and conquer algorithms

  Abstraction techniques

  Binary trees

 5. _______________________ enable different parts of a program to be executed simultaneously

  Functional progrms

  Finite algorithms

  Parallel processors

  Gantt charts

 6. The potential advantages of concurrent processing is programs executed faster and savings are made on energy.

  TRUE

  FALSE

 7. The programs that have to be written for parallel processing are substantially simpler and easier to write than for sequential programming.

  FALSE

  TRUE

 8. The advantage of parallel processing is that time will be hugely saved even if instructions have to be executed in sequence.

  FALSE

  TRUE

 9. Concurrent processing describes two tasks occurring asynchronously, meaning _________ in which the tasks are executed is not predetermined

  the time

  the space

  the binary sort sequence

  the order

 10. Concurrency means, essentially, that task A and task B both need to happen independently of each other, and A starts running, and then B starts before A is finished
Important and useful note: 
Parallelism is one way to implement concurrency, but it's not the only one. 
Another popular solution is interleaved processing (a.k.a. coroutines): 
split both tasks up into atomic steps, and switch back and forth between the two.

  FALSE

  TRUE