Меня смущает термин асинхронный применительно к программированию.Кажется, в терминах программирования это означает противоположное тому, что определено в словаре.Например, слово синхронный означает:
, встречающееся одновременно;совпадающие во времени;современники;одновременно.
происходит с той же скоростью и точно вместе;повторяющиеся вместе.
Тем не менее, Википедия говорит:
"В программировании асинхронный - это события, происходящие независимо от основного потока программы. Асинхронные действия - это действия, выполняемые в неблокирующей схеме, позволяющие основному потоку программы продолжить обработку. "
Не то, что«неблокирующим», и что позволяет «основному потоку программы продолжать обработку», быть синхронизированным или «происходящим одновременно»?Кажется, что термин синхронный предполагает «неблокирующее» и асинхронное «блокирующее».Почему термины, по-видимому, используются наоборот, когда они связаны с программированием, или это связано с вычислениями более низкого уровня, которые я не понимаю?
Когда я использую синхронный вызов AJAX, я делаю следующее ...
$.ajax({
url: somefile.php,
async: false,
success: {
...code that gets run on success...
}
});
...code that gets run after the ajax-success code runs...
При этом он фактически ждет ответа перед запуском остальной части скрипта, это блокировкадействие.Тогда почему это называется синхронным, когда он не синхронизирован с каким-либо другим процессом, а на самом деле наоборот?