Revise Computingrevisecomputing.co.uk
Free student revisionSee questionsFor schoolsSchool enquiry
Free revisionSee questionsFor schoolsSchool enquiry
Knowledge/A Level/H446/02 Algorithms and programming/Thinking Concurrently/Determine the parts of a problem…

Determine the parts of a problem that can be tackled at the same time

Determine the parts of a problem that can be tackled at the same time.

2.1.5 Thinking Concurrently

Thinking Concurrently — Note 1 of 2

Candidates need to understand what is meant by thinking concurrently. Candidates need to be able to work out which parts of a program can be processed at the same time, and which parts are dependent on other parts.

What you need to know

Thinking concurrently means identifying which parts of a problem can be worked on at the same time and which depend on other parts. This allows programs to make better use of multiple processors and to stay responsive.

What to know

  • Tasks can run at the same time only if they do not depend on each other's results.
  • Example: in a game, sound, graphics and user input can be handled concurrently.
  • Example: when processing a large set of images, each image can be processed independently at the same time.
  • Tasks that depend on the result of another task must wait for it to finish.

Key terms

Concurrent processing

More than one task is in progress at the same time. On a single processor this is achieved by switching rapidly between tasks; on multiple processors tasks can truly run in parallel.

Parallel processing

Tasks are executed at exactly the same time on different processors or cores.

Exam technique

  • Tip:Identify the dependencies first: any task that needs another's output cannot run alongside it.
← Previous topicDetermine how decisions affect flow through a program2.1.4 Thinking LogicallyNext note →Outline the benefits and trade offs of concurrent processing in a particular situation2.1.5 Thinking Concurrently

Back to Thinking Concurrently

Thinking Concurrently

Note 1 of 2

  1. 1Determine the parts of a problem that can be tackled at the same time
  2. 2Outline the benefits and trade offs of concurrent processing in a particular situation
Topic overview