問題タブ [nsoperationqueue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
351 参照

cocoa - nsoperations を使用して maxConcurrentOperationCount を 3 に設定しているにもかかわらず、私の Mac OS X アプリが応答しません。

私は長い間スタックオーバーフローを見てきましたが、最初の質問をする機会が本当になかったので、ここにあります:

私は mac os x アプリを開発しており、アプリの応答性を維持するために nsoperations を使用しています。また、maxConcurrentOperationCount を 3 に設定していますが、ウィンドウを移動しようとすると、アプリはまだ応答しません。遅れて不規則に振る舞う

誰かが解決策への手がかりや指針を提供できますか? (いいえ、サンプルコードを求めていません;)

0 投票する
1 に答える
263 参照

iphone - クラッシュ ログからエラーを認識する方法

私のアプリは、ビルドしてデバッグするときはうまく機能しますが、単独で実行すると、他の問題が原因でクラッシュします。
1 つの NSObject クラス、1 つの UITableView クラス、1 つの UIView クラス、1 つの UITableViewCell クラス、および 1 つの NSOperation クラスがあります。体に同様の問題がありますか、または誰かが私を助けることができますか.

0 投票する
1 に答える
549 参照

iphone - NSOperationQueue を使用して、2 つの異なる NSOperation クラスを解析する必要があります

XML データを持つ 2 つの異なる URL を解析しようとしています。

2 つの異なる NSOperation クラスがあり、どちらも独自の作業を完了する必要があるため、どちらも独立して動作します。2 つの異なる操作を追加した NSOperationqueue である parseQueue があります。

基本的に、2 つの xml データを別々に解析しようとしており、同時操作が必要です。しかし、2 番目の操作がキューへの追加を完了すると、最初のクラスの操作が引き続き参照されます。リリース後も最初のクラスを探している理由がわからないので、これで迷っています。誰かアイデアを出して助けてくれませんか。

0 投票する
1 に答える
1412 参照

ios - iOS上のOpenGL。glTexImage2Dを別のスレッドで呼び出すことはできますか?

iOSでは、NSOperationサブクラスを介して別のスレッドでOpenGLテクスチャ作成(glTexImage2D)を実行することは不可能であると常に想定しています。誰かが確認/拒否してくれませんか。

テクスチャの作成はGUIをハングさせる可能性があるため、悪いです!-誰かが満足している回避策を思いついたことがありますか?

ありがとう、
ダグ

0 投票する
3 に答える
4506 参照

multithreading - NSOperationQueue、NSOperation

私はiPhoneを初めて使用します。NSOperationQueueここで、、の例を取得しNSOperationますか?スレッドに対する、
の利点は何ですか?NSOperationQueueNSOperation

ありがとう

0 投票する
2 に答える
11918 参照

iphone - iOS-NSOperationがNSOperationQueueにあるかどうかを確認する方法は?

ドキュメントから:

操作オブジェクトは一度に最大で1つの操作キューに入れることができ、操作がすでに別のキューにある場合、このメソッドはNSInvalidArgumentException例外をスローします。同様に、操作が現在実行中またはすでに実行を終了している場合、このメソッドはNSInvalidArgumentException例外をスローします。

では、NSOperationをキューに安全に追加できるかどうかを確認するにはどうすればよいですか?

私が知っている唯一の方法は、操作を追加してから、操作がすでにキューにあるか、以前に実行された場合に例外をキャッチしようとすることです。

0 投票する
1 に答える
2246 参照

iphone - addOperationでのアプリケーションのクラッシュ(OSAtomicCompareAndSwap32)

誰もがこの場所でアプリケーションがクラッシュする理由を知っていますコードでは私はこのようなことをしています

エラーコード

0 投票する
1 に答える
610 参照

cocoa - NSOperationQueue ブロッキングのデバッグ

Cocoa 10.6 での同時実行の問題をデバッグする方法について、いくつかのガイダンスが必要です。「for」ループを NSOperations を使用するように変換していますが、ほとんどの場合、ループのある時点でコードがフリーズします。コンソールに NSLog の出力が表示されます。まれに、コードが最後まで実行されても問題ない場合があります。

コードはモデル層のみで、コントローラーのメソッドから開始されます。このメソッドは、8 ~ 10 個のモデル オブジェクトをループして、それぞれの出力を一意の名前のファイルに書き込むように指示します。8 つのモデル オブジェクト = 8 つの個別のファイル。GUI への呼び出しはなく、モデル オブジェクトは NSManagedObject サブクラスであり、子 NSManagedObject オブジェクトのセット (0..n 個) を含み、各所有オブジェクトが要約して書き出します。出力形式は JSON です。

コード:

私は多くの NSLog を実行していますが、それが問題になるでしょうか? バックグラウンド スレッドからの NSLog'ing は悪いことですか?

ブロック内から可変配列に追加するので、可変配列を __block として宣言するのは正しいですか? 私は両方の方法で試してみましたが、このフリーズの問題に関連する違いはないようです。

Xcode v4 を使用してこの問題をデバッグするにはどうすればよいですか? フリーズしているコード行、または同時に実行されて実行をブロックしている 2 行のコードを知りたい.単一のブレークポイントを設定してコードをステップ実行する以前の手法は機能しなくなりました、同時実行のため。

ありがとう

0 投票する
2 に答える
1484 参照

iphone - NSOperationQueue と UITableView

に表示するために SQLite データベースからデータを読み込んでいますUITableView。ユーザーがブロックされず、テーブルがすばやく表示されるようにするために、キューを作成し、バックグラウンドで実行されるデータベース操作を追加しています。

追加は良好で正常に動作しますが、何らかの理由でランダムに一部の行がデータで更新されません!

行をクリックするとデータが更新されるため、データが正しく設定されていることはわかっていますが、UI を更新する方法が見つからないようです。使用などを含めてすべて試しましsetNeedDisplayたが、何も機能しません!

これが私のコードです:

0 投票する
0 に答える
813 参照

cocoa - 実行ループベースの NSThread を不確定な時間スリープ状態にする

iOS アプリに専用のネットワーク スレッドがあります。スレッドの -main メソッドは次のようになります。

http 操作 (同時実行ループベースの NSOperation サブクラス) が取り込まれた NSOperationQueue があります。runloop スレッドを必要とする http 操作があることを知っているので、実行する作業がないときに runloop スレッドが実行されないようにしたいと考えています。NSRunLoop は、やるべきことがないときに自動的にスリープすることをどこかで読みました (参考になりました)。しかし、Instruments のタイム プロファイラーを使用したところ、runloop スレッドが常にアクティブであることがわかりました。

このリソースの浪費を防ぐために、NSRunLoop と NSThread の使用をどのように調整できますか?