2017-02-22 72 views
0

我正在阅读有关同步和异步行为之间差异的文章,并且......我知道我在绊脚石,但我不明白为什么这两个术语不会用到其他方式。同步意味着“同时发生,时间一致,同时发生,同时发生”。而异步装置“1.不是在同一时间发生的,(2)(计算机或其他电机的),只有在完成前面的操作后才开始每个操作。” (dictionary.com)为什么不同步而不是异步?

但是,当涉及到编程的术语似乎用不同的方式。

+2

“asynchronous”的dictionary.com#2定义是错误的;这实际上是同步的。 – MSalters

+0

我不知道定义,但是在编程中,异步调用不受阻塞地执行,其中同步调用一个接一个地执行。维基百科这样说:https://en.wikipedia.org/wiki/Asynchrony_(computer_programming) – FCin

+0

“同步”,在“结合”或“坐标”的意义上,在*的意义上“你知道这将是什么样的顺序在“*”中执行。 – deceze

回答

0

这些术语用法不同,您只需了解如何解释它们。

使用Ajax作为一个例子,因为它是一种常见的用例:

的操作是:“做一个HTTP请求,然后做一些与响应”。

如果它是同步的,那么全部发生在一个长块(下图的底部)中。

如果它是异步的,那么发送HTTP请求,然后JavaScript引擎做其他事情,同时它等待HTTP响应通过网络回来。一旦JS引擎不再忙碌响应已经到来,它将完成Ajax操作的其余部分。

同步方法是“同时发生”,因为它不与其他同时发生的事情分开。

你引用的第二个定义完全适合于没有拉伸。

Diagram

相关问题