Synchroniczny vs. Asynchroniczny
Synchroniczny i asynchroniczny to dwa duże słowa, które wydają się zastraszające, ale są dość proste. Synchroniczny oznacza po prostu, że wszystkie zdarzenia występują w określonej kolejności czasowej, którą można przewidzieć. Pewne wydarzenie zawsze następowałoby po innym i nie można ich zamieniać. Asynchroniczny jest przeciwieństwem synchronicznego. W procesach asynchronicznych nie ma uporządkowania czasu. Niektóre zdarzenia mogą i często się wymieniają. Doskonałym przykładem synchronicznym jest muzyka. Każdy instrument musi być w rytmie z innymi, inaczej muzyka nie zabrzmi dobrze. W przypadku asynchronicznego dobrym przykładem może być ruch. Pojazdy poruszają się z różnymi prędkościami i często jeden przejeżdża obok drugiego.
W większości aplikacji operacja synchroniczna jest niezbędna, ponieważ operacja asynchroniczna dosłownie oznaczałaby chaos. Przykładami są koleje i lotniska. W tych scenariuszach ważne jest, aby wiedzieć, który pojazd jedzie pierwszy, aby uniknąć kolizji. Kolejność rzeczy jest starannie zaplanowana, aby ułatwić płynny przepływ, a zmiany w planie są nieliczne.
Chociaż często preferowane jest działanie synchroniczne, w niektórych przypadkach nie jest to konieczne. Są nawet przypadki, w których synchroniczne działanie może być szkodliwe dla celu. Przykładem, w którym synchroniczne działanie nie jest tak naprawdę konieczne, jest przeglądanie Internetu. Przed AJAX (asynchroniczne JavaScript i XML) większość stron internetowych należy przeładować w całości, aby zmienić informacje w małej sekcji. Dzięki AJAX można teraz zaktualizować tę sekcję, pozostawiając resztę strony nietkniętą. Jest to korzystne, ponieważ należy przesłać mniejszą ilość danych, a użytkownik nie musi znosić odświeżania całej strony. AJAX jest asynchroniczny, ponieważ aktualizacje stron nie są już synchronizowane.
W operacjach komputerowych we / wy to obszar, w którym synchroniczne działanie staje się szkodliwe. Synchroniczne działanie w tym względzie oznacza, że procesor musi poczekać, aż dane zostaną zapisane lub odczytane, zanim będzie mógł kontynuować. Problem polega na tym, że urządzenia we / wy, takie jak dyski twarde, a zwłaszcza dyskietki, które mają części mechaniczne, działają bardzo wolno. Gdyby procesor musiał czekać na zakończenie napędu, marnowałoby to dużo czasu. Operacja asynchroniczna umożliwia procesorowi wykonywanie innych czynności podczas oczekiwania na zakończenie odczytu / zapisu i kontynuowanie działania po pomyślnym zakończeniu operacji.
Streszczenie:
Synchroniczny oznacza w porządku czasowym, a Asynchroniczny oznacza brak porządku czasowego
Synchroniczny jest lepszy niż asynchroniczny w wielu rzeczywistych aplikacjach
Synchroniczny może działać gorzej w niektórych scenariuszach niż asynchroniczny