2017-02-22 5 views
0

Я читаю статьи о различии между синхронным и асинхронным поведением и ... Я знаю, что я спотыкаюсь на слова, но я не понимаю, почему эти два термина не используются по-другому.Почему не синхронно, а не асинхронно?

Синхронные средства, возникающие в одно и то же время, совпадающие по времени, одновременные, одновременные. " в то время как асинхронное означает «1. не происходит в то же время 2. (компьютер или другая электрическая машина), каждая из которых запускается только после завершения предыдущей операции». (dictionary.com)

Однако, когда дело доходит до программирования, термины, по-видимому, используются по-разному.

+2

dictionary.com # 2 определение 'asynchronous' совершенно неправильно; это на самом деле синхронно. – MSalters

+0

Я не знаю об определениях, но в программировании асинхронные вызовы выполняются без блокировки, когда синхронные вызовы выполняются один за другим. Wikipedia говорит об этом: https://en.wikipedia.org/wiki/Asynchrony_(computer_programming) – FCin

+0

«Синхронизированный», в смысле «комбинировать» или «координировать», в смысле * «вы знаете, в каком порядке это будет выполненный в "*. – deceze

ответ

0

Термины не используются по-разному, вам просто нужно понять, как их интерпретировать.

Использование Ajax в качестве примера, потому что это общий случай использования:

Операция: «Сделать запрос HTTP, а затем сделать что-то с ответом».

Если это синхронно, тогда все происходит в одном длинном куске (нижняя часть диаграммы ниже).

Если он асинхронный, то HTTP-запрос отправляется, а затем движок JavaScript выполняет что-то еще, пока он ожидает ответа HTTP-ответа по сети. Когда двигатель JS больше не занят и, ответ пришел, он выполняет оставшуюся часть операции Ajax.

Синхронный подход «происходит в одно и то же время», потому что он не разделяется с другими вещами, происходящими в то же время.

Второе определение, которое вы указали, не имеет никакого растяжения.

Diagram