問題タブ [grand-central-dispatch]

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 投票する
1 に答える
486 参照

cocoa-touch - デュアルコアiPad(A5)= Grand Central Dispatch?

iPhoneSDKはGrandCentralDispatchをサポートしており、新しいiPadのCPUで複数のコアを利用できるようになっていますか?

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

objective-c - GCD スレッドを特定する

永続ストア、オブジェクト モデル、およびオブジェクト コンテキストを保持する Core Data 抽象化クラスを作成しました。マルチスレッドを簡単にするために、オブジェクト コンテキストのアクセサーを記述して[NSThread currentThread]、スレッドを識別するために使用することにより、現在のスレッドでのみ使用できるインスタンスを返すようにしました。

古い NSThread の代わりとして使用したい GCD を使用しない限り、これは完全に機能します。私の質問は、GCD スレッドを特定するにはどうすればよいですか? 質問は iOS と Mac OS X の両方に当てはまりますが、両方のプラットフォームで同じだと思います。

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

objective-c - dispatch_get_main_queue()のスレッドID

'dispatch_get_main_queue()'に関連付けられているスレッドIDを見つける方法はありますか?

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

iphone - グランドセントラルディスパッチ(GCD)とperformSelector-より良い説明が必要

私はアプリでGCDとperformSelectorOnMainThread:waitUntilDoneの両方を使用しており、それらを互換性があると考える傾向があります。つまり、performSelectorOnMainThread:waitUntilDoneはGCDC構文のObj-Cラッパーです。私はこれらの2つのコマンドを同等のものと考えてきました。

私は間違っていますか?つまり、performSelector *コマンドとGCDコマンドに違いはありますか?私はそれらに関する多くのドキュメントを読みましたが、決定的な答えはまだ見ていません。

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

objective-c - ブロックとグランドセントラルディスパッチに関する質問

現在のコードが正しいかどうかを知りたいので、答えが見つからない質問があります。コードは以下です。

質問はwhileループについてです..これは正しいですか?

PS: プラチナ uPnp では、Start() の後に while ループが必要です。そうしないと、プロセスが明らかに停止します。

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

iphone - iPhone - キューに入れられた操作をキャンセルする GCD

シリアル キューにディスパッチされるいくつかのタスクと、特にグループにディスパッチされるいくつかのタスクがあります。これらのタスクがディスパッチされた後、それらが既に実行されている場合でも、それらをキャンセルするオプションをユーザーに提供したいと思います。

キューに入れられたタスクをキャンセルする方法が見つからないので、quitRender などと呼ばれるブール値のフラグを作成し、このフラグが true かどうかをテストしてレンダリングを終了できると想像しましたが、これは機能せず、私の説明は次のとおりです。タスクが起動されるとフラグ quitRender は NO であるため、タスクはブロックで実行され、ブロックは開始時の値を凍結するため、ブロックは変更を認識せず、決して終了しません。

次に、別のアプローチを試しました。次のようなメソッドを作成します

それは実行され、変数の現在の値をブロックに送信しますが、どうやらブロックはquitRenderに対して引き続きNOと見なします。

何か不足していますか?これを機能させるにはどうすればよいですか?

ありがとう。

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

cocoa - シリアル ポート ファイル記述子からの読み取りに GCD ディスパッチ ソースを使用できない

シリアル ポートから読み取るときに、Grand Central Dispatch Source イベントの使用に問題があります。

シリアル ポートに関連付けられている fileDescriptor から読み取るデータがある場合に、OS がコード ブロックを実行するように、dispatch_source_create を DISPATCH_SOURCE_TYPE_READ と共に使用します。これが私のコードです

プログラムが実行されると、最初にシリアル データがポートに送信されるときにブロックが呼び出されます。その後、コンソールにメッセージが表示されます

それ以上の文字がシリアル ポートに送信されると、コード ブロックは呼び出されません。シリアル ポートから引き続き文字を送信でき、文字が送信されていることを確認できますが、ブロックは 2 回目に実行されません。

Web 上のドキュメントと例から、シリアル バッファに文字がある限り、ブロックが繰り返し呼び出されることを期待しています。

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

iphone - NSOperationQueue、メモリ、および GCD。適切に実装するには?

ドキュメントで答えが見つからないことについてNSOperation、いくつかの単純な疑問があります。GCD

最初の質問は、メモリ管理に関連しています。

NSOperationQueue に追加するメソッド用の Autorealease プールを作成する必要があるかどうかを知りたいです。NSOperations を使用せずに別のスレッドでメソッドを実行する場合と同様です。

次の質問はNSOperation、 が GCD を処理するのか、それとも手動で行う必要があるのか​​ということです。

ご協力ありがとうございました!

0 投票する
5 に答える
4435 参照

iphone - 非同期ディスパッチされた再帰ブロック

次のコードを実行するとします。

ブロックは外部から 1 回呼び出されます。内部呼び出しに達すると、プログラムは詳細なしでクラッシュします。GCD ディスパッチの代わりにどこでも直接呼び出しを使用すると、すべて正常に動作します。

また、ブロックのコピーを使用して dispatch_after を呼び出してみました。これが正しい方向への一歩だったかどうかはわかりませんが、それを機能させるには十分ではありませんでした.

アイデア?