メインUIがフリーズせず、同時ダウンロード数を制御できるように、複数の画像(数百)のバックグラウンドダウンロードを整理しようとしています。
最初の試行はシリアル ディスパッチ キューを使用していましたが、シリアルではあるが複数のスレッドにまたがるため失敗しましたが、キュー ブロックの同期ダウンロード コードが同時に実行されるため、多くのエラーが発生します (サーバーはそのような接続のほとんどを単純にドロップします)。
問題は、このバックグラウンド ダウンロードをどのように整理するかということです。サーバーが快適になるようにできるだけ多くのダウンロード ジョブでディスパッチ キューを埋めてから、同期ダウンロード ルーチンをキュー ブロックに書き込み、ダウンロード スパンの完了時に他のバルクを作成する方がよいでしょうか?
それを行うためのより良い、またはより自然な方法はありますか?