この質問は、私とは違って、本当にがココアアプリでマルチスレッドを理解している人のためのものです。ここでは、簡単に、状況です:他のバックグラウンドスレッドからバックグラウンドスレッドを起動できますか? (NSObj)
状況:
私のアプリはNSObjectの中で提供された方法を使用して並行性を実現します。
1)私のメインビューコントローラがUI解放するためにバックグラウンドでいくつかの作業を起動:
2)バックグラウンドの仕事はにそのタスクを分割し、次の手順を実行しても大丈夫であれば教えてくださいそれが終わると、各タスクが更新されるように、より多くのバックグラウンドスレッド上のいくつかの小さなタスク(すべてのタスクが完了したときではなく):
[self performSelectorInBackground:@selector(loadOneImage:) withObject:nil];
は理論的根拠:
これは、UIが更新されるごとに個々のタスク(カスタムUIViewのロード/描画)をセットするために発明できる唯一の方法でした。それ以外の場合は、グループ内の最後のタスクが完了したときにすべてのタスクのみが更新されます。
ありがとうございます。セカンダリスレッドのメソッドは今のところうまく動作していますが、同時に非常に多くのことが起こっています。これは私のUIをちょっと遅くしています。だから私はNSOperationQueueを見て、何か違いがあるかどうかを見ていきます。 – m0rtimer