多くの負荷をかけずに一度に多くの関数を実行したい場合は、どのオプションが最適です(負荷を減らし、実行を高速化し、クラッシュの問題を解決するため)...
1)。NSThread
2)。PerformSelectorInBackground
3)。NSOperationQueue
または、上記以外のものはありますか?最善かつ適切な解決策を提案してください。すべてのリンクとガイダンスを事前に確認してください。
グランドセントラルディスパッチが一番いいと思います。
// 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...
});