私はObjcetive-Cクラス(オブジェクト)を書く必要があります。このオブジェクトは、GUIイベントの影響を受けずに計算サイクル(そしてすべてのメソッド/関数)を作成するために、自分のスレッドに存在しなければなりません。このようなクラスを書くための安全な方法はありますか?目的C自分のスレッド内のクラス/オブジェクト
0
A
答えて
0
AppleはiOSでのスレッド操作を処理するためにGCD(Grand Central Dispatch)を使用しています。あなたのケースでは、dispatch_get_global_queue
はあなたのユースケースの正しいGCD操作であるかもしれません。 (hereから引用)例:
dispatch_queue_t backgroundQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(backgroundQueue, ^{
while ([self shouldKeepProcessingInBackground]) {
[self doBackgroundWork];
usleep(1e4);
}
})
+3
スレッドは決してループを実行するべきではありません。バッテリーとCPUを食べる。代わりに、何らかの種類のシグナリングメカニズム(GCDがいくつかを提供しています)をブロックします。 – bbum
関連する問題
- 1. テンプレート内の静的クラスオブジェクトC++
- 2. 目的Cのコード内の自動行の高さ
- 3. 目的C - オブジェクト内のメッセージングオブジェクト
- 4. 目的Cアンダースコアプロパティvs自己
- 5. C++のクラス内にクラスオブジェクトの動的配列を作成
- 6. 目的C - カテゴリ内の静的変数
- 7. スレッド再目的
- 8. C++スレッドが末尾で自分自身を削除する
- 9. 目的地c自分の現在地を見つけますか?
- 10. ブラウザ内のスレッドの分類
- 11. C++の動的スレッド
- 12. 目的のC
- 13. C#クラスオブジェクト
- 14. 辞書内のオブジェクト内のプロパティを取得する - 目的C
- 15. C++ライブラリのC部分は自動的にC99ですか?
- 16. C#クラスオブジェクトをC++ DLLクラスの内外に渡す
- 17. シングルトンの目的C
- 18. Python:return文の後に自動的にクラスオブジェクトを削除する
- 19. ウィンドウ内のcスレッドHWNDエラー
- 20. スレッド内のC++移動クラス
- 21. 目的c NSInvalidArgumentExceptionはデバイス内のみ - シミュレータ内にない
- 22. 静的クラスオブジェクト
- 23. クラスオブジェクトはC++
- 24. C++でのクラスオブジェクトの作成
- 25. 別のクラスのC++ \ Qtクラスオブジェクト
- 26. 自分のスレッド内のSelenium非同期スクリプトは他のスクリプトをブロックします
- 27. 自分自身のディレクトリ内のUnauthorizedAccessException
- 28. 自分のアプリケーション内のオブジェクト
- 29. C++でのスレッドの分離11
- 30. 目的NSNumberFormatterでループ内での自動解放
このため、グランドセントラル派遣を使用しています。おそらくこれはあなたを助けます:http://jeffreysambells.com/2013/03/01/asynchronous-operations-in-ios-with-grandcentral-dispatch – bopa
あなたのオブジェクトが "自分のスレッドに生きなければならない"あなたが本当に欲しいのは、計算がそれ自身のスレッドで実行されるということです。さらに、あなたはあなたの結果をどこで期待していますか?オブジェクトで?または、これを容易にする完了ブロックがありますか? –