問題タブ [nsthread]
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.
iphone - 別のスレッドでNSUrlConnectionを実行するにはどうすればよいですか?
私はURL接続とスレッドの両方で最初のステップを動かしているので、質問が些細な結果になる可能性がある場合は我慢してください。基本的に、別のスレッドでNSUrlConnectionを実行したいと思います(これにより、多くのドキュメントが「危険」になる可能性がある場合でも)。このソリューションを採用するかどうかを決定する前に、私は最初にそれを実装することに成功する必要があります。さて、質問は本当に簡単です:それを行うための実際のコードは何ですか。そんなこと知ってる
ダウンロードを実行し、動作するように試してみました。私はそれを読みました
と
新しいスレッドを作成するために使用されます
では、initWithRequestメソッドをスレッドに追加するにはどうすればよいですか?どちらのスレッドメソッドも、最大で1つのパラメーターを持つセレクターを受け入れるようです。実際に必要なコードを読んでいただければ幸いです。
ありがとうございました。
iphone - バックグラウンドで NSDictionary をロードするための切り離された NSThread でのメモリ割り当て?
バックグラウンド スレッドを起動して、Web サービスから XML データを取得しようとしています。スレッドなしで同期的に開発したので、その部分が機能することはわかっています。これで、スレッドを生成して応答と解析を待機することにより、ノンブロッキング サービスを利用する準備が整いました。
スレッド内に NSAutoreleasePool を作成し、解析の最後に解放しました。スポーンするコードとスレッドは次のとおりです。
メインループ コードからスポーンします。
スレッド (「自己」内) :
このメソッドparseContentsOfResponse
は、NSMutableDictionary に解析されたドキュメント コンテンツを入力します。データを頻繁に移動することを避け、コピーを作成するのではなく、スレッドを生成したメインループにデータを割り当て直したいと考えています。まず、それは可能ですか?そうでない場合は、メインスレッドから割り当てられたポインターを渡し、「dictionaryWithDictionary」メソッドで割り当てることができますか? それはとても非効率的なようです。
parseContentsOfResponse
最初の解析セクション
各セクションは、その elementStart が通知されると、要素文字列を作成します。elementEnd は、オブジェクトを辞書に追加し、要素を解放します。残りの詳細は冗長です。注意すべき点は、割り当てが NSZone に向けられていないため、スレッドのメモリ プールに存在する必要があることです。
cocoa - NSThread と detachNewThreadSelector:toTarget:withObject の違い:
NSThread のドキュメントで、メソッドに出くわしましたdetachNewThreadSelector:toTarget:withObject:
。initWithTarget:selector:object:
その方法と、でスレッドを作成してから開始することの違いは何start
ですか?
cocoa - NSThread とメモリ管理
を使用して NSThread オブジェクトを作成して実行するとしますdetachNewThreadSelector:toTarget:withObject:
。スレッドによって実行されるメソッドは次のようになります。
cancel
次に、プールが解放される前に、実行中のスレッドを強制終了するメソッドを使用する場合があります。NSAutoreleasePool オブジェクトはどうなりますか? きっと漏れますよね?
cocoa - NSThread への参照を保持し、そのオブジェクトにメッセージを送りますか?
これを行う方法が少しわかりません:
アプリの「寿命」の間実行される「ワーカースレッド」を開始します。
それから
これで、スレッドは 5 秒 (initWithTimerInterval) ごとに「ウェイクアップ」して、実行できるタスクがあるかどうかを確認します。BackGroundUpdate クラスのすべてのタスクは、現時点では時間依存のみです。「イベント依存」のものをいくつか用意したいと思います。たとえば、バックグラウンド オブジェクトをメイン スレッドから呼び出して、「speedUp」、「slowDown」、「reset」、またはオブジェクトの任意のメソッドに指示したいとします。
これを行うには、次のようなものが必要だと思いperformSelectorOnThread
ますが、NSthread と Background オブジェクトへの参照を取得するにはどうすればよいですか?
iphone - セカンダリ スレッドからメイン スレッドで UIPopoverViewController を呼び出す
私はセカンダリ スレッドで機能を実行しています。結果が得られたら、メイン スレッドで ViewController をポップする関数を呼び出します。しかし、次のエラーが表示されます。
void WebThreadLockFromAnyThread(), 0x5c6dec0: メイン スレッドまたは Web スレッド以外のスレッドから Web ロックを取得しています。UIKit はセカンダリ スレッドから呼び出されるべきではありません。.
以下のコードを使用しています。
cocoa - NSTask または NSThread?
NSTimer にアタッチされたコードがいくつかあります。毎秒約 5 回、別のアプリケーションと対話し (キーストロークをエミュレートすることによって)、適切な場合に、別のコードによって処理される NSNotification を吐き出します。
タイマー コードの実行中は UI が応答しないため、タイマーを停止する「停止」ボタンを含めることはできません。
これをどのように処理すればよいですか?別のプロセス (NSTask ですよね?) またはスレッドですか? 予測できない場合、タイマー コードは処理のために何らかの情報を送り返す必要があることに注意してください。
ありがとう。
iphone - 手動で生成されたスレッドで UIGetScreenImage() を呼び出すと、ログに "_NSAutoreleaseNoPool():" メッセージが出力されます
これは、で指定されているセレクターの本体です。NSThread +detachNewThreadSelector:(SEL)aSelector toTarget:(id)aTarget withObject:(id)anArgument
自動解放プールが存在する場合でも、次のように呼び出すと、これがログに出力されますUIGetScreenImage()
。
他の誰かがUIGetScreenImage()
別のスレッドでこれを見たことがありますか?
iphone - iphone xcodeのnsthread
良い一日!
ネットワークアクセス用の関数を呼び出し、ネットワークが存在するかどうかを確認する xcode のプロジェクトで nsthreads を使用したいので、1 分後に実行するスレッドが必要です。接続性。アプリを閉じない限り実行され続けます。
startTheBackgroundJob
それは初めて機能しますが、他の機能はありません。つまり、ループは1つだけです
誰かがこの点で私を助けることができます.
ありがとう
iphone - NSThreadを使用してiPhoneのURLからの画像の待機を解決する
したがって、UIImageView画像をオンラインソースからの画像に設定したいメソッドに次のコードがあります。
次に、スレッドによって呼び出されるメソッドで、これがあります。
これはうまく機能しますが、デバッガコンソール内で次の行に沿って多くの警告が表示されます。
2010-05-10 14:30:14.052 ProjectTitle [2930:633f] *** _NSAutoreleaseNoPool():プールが配置されていない状態で自動リリースされたクラスNSHTTPURLResponseのオブジェクト0x169d30-リークしているだけ
これは、新しいスレッドを呼び出すたびに何度も発生し、最終的にはパターンなしで、これらのスレッドのいくつかを呼び出した後、従来の「EXC_BAD_ACCESS」ランタイムエラーが発生します。
オブジェクトを保持していないためにこれが発生していることは理解していますが、上記の「loadImage」のコードを使用してこれを解決するにはどうすればよいですか?
ありがとう