問題タブ [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.

0 投票する
4 に答える
6163 参照

cocoa - [NSRunLoop runUntilDate] を終了するにはどうすればよいですか?

USB 経由で接続されたデバイスと通信する必要があるアプリケーションを作成しています。アプリは決まったタイミングでデバイスから順番にデータを送受信します。そうしないと UI がブロックされるため、すべての Rx/Tx は別のスレッドで発生します。基本的な構造は基本的にこのようになります。(自動解放プールなどは省略)

データを送信した後、アプリはデータが受信されるかrxTimeoutTimer、パケットの再送信につながる起動するのを待ちます。基礎となるレイヤーが非同期システムコールを使用し、基本的にこのように見えるrx-handlerを呼び出すため、rx操作は機能します。

[runLoop runUntilDate:]から抜け出す(簡単な)方法はありreceiveData:ますか?Apple のドキュメントによると、すべてのタイマー ソースを削除しても、RunLoop が終了する保証はありません。電話について何か読んだことperformSelector:onThread:...がありますが、うまくいかなかったか、要点がわかりませんでした。

ありがとう。

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

iphone - NSThread関数detachNewThreadSelector:toTarget:withObject:を2つのパラメーターで呼び出すことはできますか?

上記の関数を使用してメインスレッドをスタックさせる関数を呼び出して、差分スレッドで実行できるようにします。しかし、問題は、私の関数に2つのパラメーターがあることです。そうすることは可能ですか?

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

iphone - Iphoneマルチスレッド-インターフェイス(メインスレッド)のイベントをバックグラウンドスレッドから更新するにはどうすればよいですか?

1.私のmainViewはUIScrollViewです。9枚の画像をタイルとしてロードする必要があります。

2. 9imagesを取得し、それをインターフェイス(メインスレッド)にロードするために、関数を別のスレッドとして呼び出しています。そうすることで、インターフェイスの応答性が維持されます。

3.しかし、画像がロードされている場合でも、スレッド全体が完了するまで、画像がUIScrollViewに表示されないという問題があります。しかし、インターフェイスで何らかのアクションを実行している場合は、それぞれがロードされて表示されているのを確認できます。

  1. つまり、各画像がロードされた後、バックグラウンドスレッドからインターフェイス(メインスレッド)を更新する必要があります。

どうすればいいですか?別のスレッドを使用して呼び出すUIScrollViewに画像をロードするために使用するコードを指定しました。

0 投票する
4 に答える
2708 参照

iphone - 非 UI スレッド/関数から UIScrollView の画面更新を強制する方法 (iPhone)

非 ui スレッド/関数から uiscrollview に一連の画像を描画しています。ただし、すべての画像の描画が完了した後にのみ表示されます。すべての画像を描画するために関数を作成しました。これが非 UI スレッドと呼ばれるものです。関数内にこの行を書きました

そして、以下に示すように関数を書きました

しかし、コントロールがその関数に渡されているのがわかっても、効果はありません。今何をする?

0 投票する
4 に答える
2584 参照

c++ - pthreadとNSThread:どちらが高速か

Cocoaでは、NSThreadはpthreadよりも高速ですか?パフォーマンスは向上しますか?無視することは無視できますか?

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

iphone - Iphone NSthread でメイン スレッドからバックグラウンド スレッドを停止するにはどうすればよいですか?

メイン スレッドが何かをチェックしている間に、プログラムからバックグラウンド スレッドを開始します。チェックが失敗した場合は、実行中のバックグラウンド スレッドを停止し、新しいパラメーターを使用して最初からやり直したいと考えています。

スレッドが画像をダウンロードするので停止したいのですが、停止して再度呼び出さないと、新しい画像がダウンロードされるまでに時間がかかります。そうすることは可能ですか?

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

cocoa - NSThreadメモリ内のNSTimerは大きくなりますか?

スレッド内でタイマーを使用しています。常にタイマーをインスタンス化していますが、機器内でアプリケーションを実行すると、メモリが指数関数的に増加し、リークは発生していません。NSThreadが成長を引き起こしていると確信していますか?。新しいタイマー(シングルトン)を実行する前に現在のタイマーを停止し、stopTimerですべてを解放していますが、メモリがまだ増加している理由がわかりませんか?

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

iphone - XML の解析時に iPhone アプリがフリーズする

XML フィードを解析するたびに、アプリがフリーズします。

代わりにこれを呼び出してみました:

これは次を呼び出します:

しかし、その結果、私のアプリは非常に不安定になりました... iPhone シミュレーターは、エラー警告なしでクラッシュしました。

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

iphone - スレッドでのNSTimerの実行

iPhoneSDK3.0を使用してスレッドでNSTimerを実行しようとしています。私はすべてを正しく行っていると思います(新しいrunloopなど)。このエラーが発生したにもかかわらず、viewDidDissappearで[timer invalidate]を呼び出すと、次のようになります。

bool _WebTryThreadLock(bool)、0x3986d60:メインスレッドまたはWebスレッド以外のスレッドからWebロックを取得しようとしました。これは、セカンダリスレッドからUIKitを呼び出した結果である可能性があります。現在クラッシュしています...プログラムは信号「EXC_BAD_ACCESS」を受信しました。

これが私のコードです:

タイマーを無効にする行を削除すると、すべてが正常に機能します。私はそれを無効にすることになっていないのですか、それとも他の間違いを犯していますか?

ありがとう