2017-02-22 44 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