2 points par stareta1202 2024-02-01 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Apple a introduit dans Swift un nouveau paradigme appelé Concurrency. Le traitement asynchrone s’effectue via la boucle for-await-in.

Auparavant, Swift gérait l’asynchrone à l’aide de closures (fonctions bloc). Puis un framework appelé Combine est également apparu. Ce framework Combine est lui aussi une version maison par Apple de RX d’Erik Meijer.

Mais ces deux approches avaient un problème lié aux limites d’ARC, le mécanisme de GC de Swift. À cause de la capture list, des fuites mémoire pouvaient survenir, autrement dit Apple voulait éviter l’approche fondée sur les closures. Ainsi, de la même manière qu’Erik Meijer a créé le Reactive en inversant iterable (Sequence) et Iterator, Apple a proposé un nouveau paradigme asynchrone sans les inverser, en créant AsyncSequence (AsynscIterable) et AsyncIteraotr, afin de résoudre le problème des fuites mémoire tout en présentant un nouveau paradigme de traitement asynchrone.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.