2 ポイント 投稿者 stareta1202 2024-02-01 | まだコメントはありません。 | WhatsAppで共有

Appleは、Concurrencyという新しいパラダイムをSwiftに導入した。非同期処理は for-await-in 文を通じて扱う。

従来、SwiftはClosure(Block function)を使って非同期処理を行っていた。そこにCombineというフレームワークも登場した。このCombineフレームワークも、Erik MeijerのRXをApple独自に実装したものだ。

しかし、上記2つの方式には、SwiftのGC方式であるARCの限界がある。capture list という仕組みのためにメモリリークが発生する可能性があり、つまりClosureを使う方式を避けたかったのだ。そこで、Erik Meijerがiterable(Sequence)とIteratorを反転させてReactiveを作ったように、Appleはこれを反転させずに非同期化したAsyncSequence(AsynscIterable)とAsyncIteraotrを作り、メモリリーク問題を解決しようとすると同時に、新しい非同期パラダイムを提示した。

まだコメントはありません。

まだコメントはありません。