Concurrency is not parallelism
Computing Theory

Screen shot 2015 07 29 at 11.48.17 am

What is concurrency?

Concurrency is how you structure and handle inbound requests to be processed efficiently.

A user clicks on a button and the button makes a GET request from a server. Meanwhile you are still loading a different piece of the web page. 

What is parallelism?

Parallelism is running processes simultaneously.

Your concurrent structure determines which, and whether, certain processes (threads) will be run in parallel, as the most efficient method to complete them quickly and successfully.

What is a thread? 

A thread is the smallest process which can be handled by itself.

What is the meaning of the gopher image?

Concurrent composition

This design is not automatically parallel!

What if only one gopher is moving at a time? 
Then it's still concurrent (that's in the design), just not parallel.

However, it's automatically parallelizable!

Moreover the concurrent composition suggests other models.

| Back