Someone said that:
Concurrency is like a person juggling with only 1 hand. Regardless of how it seems the person is only holding at most one ball at a time. Parallelism is when the juggler uses both hands.
I understand the main assumptions.
But can someone make references?
I mean:
balls - threads?
hand - process/core?
person - processor/core?
I know this is a strange question but I believe that it could solve a basic view on this subject.
EDIT
Based on your answers I must say I'm a bit confused.
I thought that the person is a process.
This process may have many threads.
No matter whether a computer is single or multi-cores.
So one hand would be one core.
So balls are threads. And this core can handle only one thread at the time.
If there is a single-core processor and more then one thread, concurrency could be present.
Threads are switched between each other. But only one thread works at a time.
If there are a multi-core processor and many threads, each thread can be done by each core separately exactly at the same time, so parallelism is present.
What do you think?