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