cevap 1:

Şunu hayal edin: - Amazon'dan eve gelen bir teslimatınız olduğunu varsayalım. O gün birinden teslimatı sizin adınıza almasını istersiniz. Bu arada, günlük düzenli etkinliklerinizi yapmaya devam edersiniz.

Şimdi, evde kalmaya ve teslimatın gelmesini beklemeye karar verirseniz ne olur? Diğer aktivitelerinizin, teslimatı alana kadar beklemesi gerekecektir.

İlk durum eşzamansız, ikinci durum eşzamanlıdır.

Teknik olarak, zaman uyumsuz bir şekilde, sonucu bekleyen bir iş parçacığı (görev) oluşturursunuz ve kodunuzun geri kalanı çalışmaya devam eder.

Eşzamanlı kodda her şey bekleyecek ve kodunuzun “asılmasına” neden olacaktır.

Oylamayı unutma ...


cevap 2:

Her ikisi de program akışı yapıyor ancak Async / Await Thread beklemiyorsa ve başka bir amaçla kullanılabilir. Senkron (engelleme) kodu için aynı şey mümkün değildir.

Async / Await, size sadece asenkron geri çağrıları kullanma ve bunları manuel olarak zincirleme konusunda şeker soyutlaması sağlar.

Çalışma Zamanı'nın (örneğin Erlang ve Golang) Yuvaların ve dosya akışlarının engellemeyen doğasını dahili olarak ele alması ve dil düzeyinde sözdizimi gibi senkronize olmasını sağlamasına rağmen.

Gördüğünüz gibi, bunlar sadece soyutlama yapılarıdır. Ayrıca Runtime'ın neler yapabileceğini de aklınızda bulundurun.

Async / Await'i kullanmanın bir diğer yararı da, Çalışma Zamanı Yeşil İplikleri desteklemiyorsa mümkün olmayan eşzamanlılığı elde etmek için değil, istediğiniz zaman bekleyebileceğinizdir.