Why are Asynchronous processes not called Synchronous?

前端 未结 9 2093
我寻月下人不归
我寻月下人不归 2020-12-28 14:46

So I\'m a little confused by this terminology.

Everyone refers to \"Asynchronous\" computing as running different processes on seperate threads, which gives the illu

相关标签:
9条回答
  • 2020-12-28 15:36

    It's like: Flammable, Inflammable ( which mean the same thing )

    Seriously -- it's just one of those quirks of the English language. It doesn't really make sense. You can try to explain it, but it would be just as easy to justify the reverse meanings.

    0 讨论(0)
  • 2020-12-28 15:40

    It means that the two threads are not running in sync, that is, they are not both running on the same timeline.

    I think it's a case of computer scientists being too clever about their use of words.

    Synchronisation, in this context, would suggest that both threads start and end at the same time. Asynchrony in this sense, means both threads are free to start, execute and end as they require.

    0 讨论(0)
  • 2020-12-28 15:41

    I believe that the term was first used for synchronous vs. asynchronous communication. There synchronous means that the two communicating parts have a common clock signal that they run by, so they run in parallel. Asynchronous communication instead has a ready signal, so one part asks for data and gets a signal back when it's available.

    The terms was then adapted to processes, but as there are obvious differences some aspects of the terms work differently. For a single thread process the natural way to request for something to be done is to make a synchronous call that transfers control to the subprocess, and then control is returned when it's done, and the process continues.

    An asynchronous call works just like asynchronous communication in the aspect that you send a request for something to be done, and the process doing it returns a signal when it's done. The difference in the usage of the terms is that for processes it's in the asynchronous processing that the processes runs in parallel, while for communication it is the synchronous communication that run in parallel.

    So "computer or electrical machine" is really a too wide scope for making a correct definition of the term, as it's used in slightly different ways for different techniques.

    0 讨论(0)
提交回复
热议问题