Синхронный и асинхронный

Anonim

Синхронный и асинхронный

Синхронные и асинхронные - это два больших слова, которые кажутся запугивающими, но довольно простыми. Синхронный просто означает, что все события происходят в определенном временном порядке, который можно предсказать. Определенное событие всегда будет следовать за другим, и они не могут быть взаимозаменяемы. Асинхронный - это противоположность синхронному. В асинхронных процессах нет порядка времени. Определенные события могут и часто делают обмен. Отличным синхронным примером является музыка. Каждый участвующий инструмент должен быть в ритме с другими, иначе музыка не будет звучать правильно. Для асинхронного, хорошим примером будет трафик. Транспортные средства передвигаются с разной скоростью, и один из них перемещается мимо другого.

В большинстве приложений синхронная работа имеет важное значение, поскольку наличие асинхронной операции будет буквально означать хаос. Примерами этого являются железные дороги и аэропорты. В этих сценариях важно знать, какой автомобиль идет первым, чтобы избежать столкновений. Порядок вещей тщательно спланирован для облегчения плавного потока, и изменения в плане немного и далеко друг от друга.

Хотя синхронная работа часто предпочтительнее, есть определенные случаи, когда она не нужна. Есть даже случаи, когда синхронная операция может нанести ущерб объекту. Пример, когда синхронная операция не требуется, - это просмотр в Интернете. До AJAX (асинхронный Javascript и XML) большинство веб-страниц необходимо перезагрузить полностью, чтобы изменить информацию в небольшом разделе. С AJAX теперь можно обновить этот раздел, оставив остальную часть страницы нетронутой. Это выгодно, так как необходимо передавать меньший объем данных, и пользователю не нужно терпеть всю освещенную страницу. AJAX является асинхронным, поскольку обновления страниц больше не синхронизируются.

В компьютерных операциях ввод-вывод - это область, где синхронная работа становится вредной. Синхронная работа в этом отношении означает, что процессору необходимо дождаться, когда данные будут записаны или прочитаны, прежде чем он сможет продолжить. Проблема в том, что устройства ввода / вывода, такие как жесткие диски и особенно дисководы гибких дисков, которые имеют механические детали, очень медленные. Если процессору необходимо дождаться окончания работы диска, это будет тратить много времени. Асинхронная операция позволяет процессору делать другие вещи, ожидая завершения чтения / записи и просто продолжать работу, как только операция будет успешной.

Резюме: Синхронные средства во временном порядке, в то время как асинхронный означает отсутствие временного порядка Синхронный предпочтительнее асинхронного во многих приложениях реального мира Синхронный может работать хуже в определенных сценариях, чем асинхронный