Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to distinguish between concurrent, parallel, sync and async
1 point by ku5h 8 months ago | hide | past | favorite
I have seen all four terms used interchangeably. I know this sounds repeated, but I want a little more specific answer. I have already done my research. I found quite satisfactory results[0] explaining what each term meant. But what is still not clear to me, is how exactly would we differentiate them if we had to represent them through a Venn diagram.

My current understanding is the following -

1. All parallel things are concurrent, but all concurrent things are not parallel.

2. No synchronous things are asynchronous, and vice-versa.

3. Some synchronous things are concurrent, and some synchronous things are parallel.

4. All asynchronous things are concurrent, but only some asynchronous things are parallel.

https://i.imgur.com/fVK22xv.png

My question is whether my current understanding of the difference is correct. If not, how must they be categorized and why?

[0]: I watched Rob Pike's video on Concurrency is not Parallelism - https://www.youtube.com/watch?v=oV9rvDllKEg. And the following response on Reddit explaining the difference between synchronous and asynchronous code - https://www.reddit.com/r/computerscience/comments/ow1336/comment/h7d1h9d/ I have tried to summarize my findings in a blog post if you're willing to go through it - https://www.kush.in/post/a-sink-and-a-weight_1




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

Search: