Multithreading, Concurrency, Parallelism, or Asynchrony?

submited by
Style Pass
2024-12-21 18:00:05

Sometimes, when developing advanced software, we encounter terms like ‘multithreading,’ ‘concurrency,’ ‘parallelism,’ and ‘asynchrony’. These ideas might make us feel overwhelmed if we lack knowledge and a solid sense of them. At times, we even ignorantly use them interchangeably, as if they mean the same thing, failing to recognize their true meanings.

It is impossible to really comprehend any of these topics in isolation without understanding their surrounding context first. I have noticed many people—myself included—often prefer short articles or infographic content that presents information “in a nutshell”, without providing enough theoretical foundation for our study. While this is fine for refreshing our memories or as a pedagogical aid, I think we should strive for deepening our expertise with more concrete sources. It is healthy for us to endure the hard process of learning something by pure text.

Therefore, I see myself obliged to start writing about what processes are before advancing any further in the discussion of other themes. This is to provide a solid context, avoiding theoretical holes in the article.

Leave a Comment