In English, the word synchronous means "happening at the same time" while the word asynchronous means the opposite (i.e. "not simultaneous or concurrent in time : not synchronous")
Why all references refer to parallel programming as asynchronous programming instead of synchronous programming like this one
And why they all use the keyword async
(which is an abbreviation of asynchronous) instead of sync.
For example:
- If I have 2 consecutive methods
Method1()
andMethod2()
respectively, thenMethod2()
will not start execution tillMethod1()
finishes processing, which we call sequential processing. - If both
Method1()
andMethod2()
are marked withasync
keywords, this meansMethod2()
will start processing without waiting forMethod1()
to finish. - So, I can describe this as parallel calling, concurrent calling, synchronous call, or anything indicating they run together without waiting.
- Naming the second scenario Asynchronous gives an impression that they are not processing in parallel.
This if confusing, isn't it?
I am not a native English speaker, am I missing something in the English language or in the parallel programming concept?