1

多くの負荷をかけずに一度に多くの関数を実行したい場合は、どのオプションが最適です(負荷を減らし、実行を高速化し、クラッシュの問題を解決するため)...

1)。NSThread

2)。PerformSelectorInBackground

3)。NSOperationQueue

または、上記以外のものはありますか?最善かつ適切な解決策を提案してください。すべてのリンクとガイダンスを事前に確認してください。

4

1 に答える 1

2

グランドセントラルディスパッチが一番いいと思います。

// Job 1
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

    // Heavy work here...

});

// Job 2
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

    // Heavy work here...

});

そして、それらの中からメインスレッドで何かをしたい場合 (例えば、UI の更新)、以下を使用します:

dispatch_sync(dispatch_get_main_queue(), ^{

    // Update UI...

});
于 2012-11-27T10:57:04.080 に答える