Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin

Aren't concurrency and parallelism orthogonal?


> Aren't concurrency and parallelism orthogonal?

As in they're independent of each other?

The answer would be no. Concurrency doesn't require parallelism but parallelism require concurrency.

The second answer to this quora link explains it way better than I can. https://www.quora.com/What-is-the-difference-between-concurr...


Personally, a blog post by yosefk, the greatest CPP basher of all time [0], cleared the differences up for me: https://yosefk.com/blog/parallelism-and-concurrency-need-dif...

[0] https://wiki.c2.com/?CppBashing


> parallelism require concurrency

I don't think it does. For example in a SIMD system there is parallelism, but no concurrency. Operations are being performed in parallel, but there is only a single program (SI..) and no concurrent tasks.


I think you have to add "Joint" Parallel as a definition of two separate cores that collaborate on the same data at the same time - that requires concurrent memory/disc access. That Erlang can't provide BTW.


Or the same single threaded executable running as two processes on different cores/cpus - there is parallelism but no concurrency within any of the processes?


Still, different pieces of hardware execute the same instruction on different data. Think of this as data concurrency if you like.


Well, here is someone suggesting that they orthogonal:

http://composition.al/blog/2014/11/24/yet-another-blog-post-...


Not if they happen at the same time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: