2 puan yazan stareta1202 2024-02-01 | Henüz yorum yok. | WhatsApp'ta paylaş

Apple, Swift’e Concurrency adlı yeni bir paradigma ekledi. Asenkron işlemler for-await-in ifadesi üzerinden ele alınıyor.

Önceden Swift, asenkron işlemleri Closure (Block function) kullanarak işliyordu. Ardından Combine adlı bir framework de ortaya çıktı. Bu Combine framework’ü de Erik Meijer’in RX’inin Apple tarafından hazırlanmış bir versiyonuydu.

Ancak yukarıdaki iki yaklaşımın sorunu, Swift’in GC yöntemi olan ARC’nin sınırlamalarıydı. capture list nedeniyle bellek sızıntısı oluşabiliyordu; yani Closure kullanan yaklaşımın kaçınılmak istenen bir tarafı vardı. Bu yüzden, Erik Meijer’in iterable (Sequence) ve Iterator’ı tersine çevirerek Reactive’i oluşturmasına benzer şekilde, Apple bunu tersine çevirmeden asenkron hale getiren AsyncSequence (AsynscIterable) ve AsyncIteraotr yapısını oluşturdu; böylece bellek sızıntısı sorununu çözmeyi hedeflerken aynı anda yeni bir asenkron paradigma da sundu.

Henüz yorum yok.

Henüz yorum yok.