GCDを使用したマルチスレッド機能を備えたiPadアプリケーションがあります。は、GCDを使用してキューにブロックを追加する方法についてアドバイスが必要です
私は、バックグラウンド処理のいくつかの種類を行う必要があるとき、私は次のコードを使用し
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ -backgroundProcessing- }**
をだから私の2つの質問は次のとおりです。
1)私は私のバックグラウンドのALLを追加しているので、同じキューへの処理、およびキューのデキューFIFOは常に並行して実行されますか?私は彼らがいると仮定しているが、わからない。アップルのドキュメントによると
2)私はすでに
システムは3つの同時ディスパッチ キューと各アプリケーションを提供することを知っています。これらのキューはアプリケーションに対してグローバルで、 は優先レベルによってのみ区別されます。
しかし、私の処理はDISPATCH_QUEUE_PRIORITY_HIGH、DISPATCH_QUEUE_PRIORITY_LOWまたはDISPATCH_QUEUE_PRIORITY_BACKGROUNDを必要としないので、それはDISPATCH_QUEUE_PRIORITY_DEFAULTグローバルキューにすべての私のバックグラウンド処理を入れて/何史上ことをお勧め/ OK /良い練習/でしょうか?または、複数のカスタムキューを使用できるようにカスタムキューを作成する必要があります。さらに、キューを増やすとパフォーマンスが向上しますか?
を私は強く、独自のキューを作成し、それへの参照を保持することをお勧め。そうすれば、彼らは自分のスレッドで実行することがわかります。 –