grand-central-dispatch

    2

    2答えて

    私はしばらくして(例えば、アプリケーションで何かをしてから5分後に)UIAlertViewを表示しようとしています。私はすでに、アプリが閉鎖されているか、バックグラウンドであるかどうかをユーザーに通知しています。しかし、私は、アプリケーションが実行されている間、UIAlertViewを表示したい。 次のように私はdispatch_asyncしようとしたが、アラートは永遠に飛び出るさ: [NSThr

    0

    2答えて

    配列内のURLが順番に呼び出されます。 nisperationqueueのように、一度にすべて呼び出されてはいけませんか?ありがとうございます。 - (void) allTasksDone { NSLog(@"DONE"); } - (void) callMultiple { dispatch_queue_t myQueue = dispatch_queu

    0

    1答えて

    ユーザーがボタンをクリックした後、複雑な(つまり長い)タスクを実行する必要があります。 ボタンを押すとシートが開き、dispatch_asyncや他のGrand Central Dispatchの処理を使用して長時間実行される操作が開始されます。 私はコードを書いていますが、うまくいきますが、すべてを正しく行ったのか、(私の無知のために)潜在的な問題を無視したのかを理解する助けが必要です。 は、ユ

    1

    2答えて

    dispatch_syncブロックで内容が設定された配列を返したいと思います。私は完全な配列のコピーをしているが、代わりに一つ一つを追加したい、私は「自動解放をスキップすることができていないよ場合 -(NSArray *)getSomeLockedList { __block NSArray *resultList; dispatch_sync(myQueue, ^{

    1

    1答えて

    Grand Central Dispatchを使用して(メインキューではなく)キューにブロックを追加しています。このブロックにはループがあり、ループが通過するたびにわずか0.02秒の遅延が必要です。私はこのキューで dispatch_async(myOwnQueue, ^{ // begin loop // do stuff usleep(20000); /

    2

    3答えて

    ブロックについてたくさん知りません。あなたはどのようにしてNSTimerをdispatch_after()と偽装しようとしますか?私の問題は、アプリがバックグラウンドに移動するときにタイマーを「一時停止」したいが、サブクラス化するNSTimerは機能していないようだ。 私はうまくいくものを試しました。私はそのパフォーマンスへの影響や、それが大幅に最適化できるかどうかは判断できません。どんな入力も歓

    4

    2答えて

    作成から45秒後に起動するように設定されたタイマーをグローバルキューに作成していますが、なんらかの理由で起動できないようです。今度はそれを変えても何もしません。 残りのアプリには多くのことが起こっているので、タイマーの発射に先立つものがある可能性があります。 これはタイマーが作成された方法です。 dispatch_queue_t globalQueue = dispatch_get_g

    0

    1答えて

    GCDタイマーは、実行予定のもの以外のキューから中断できますか? 私は、優先度の低いglobal_queueで作成されたタイマーを持っています。起動すると、main_queue経由でUIの操作をいくつか操作します。 UIのいくつかの州では、タイマーを一時停止する必要があります。サスペンドを実行するには、main_queueから優先度の低いキューに切り替える必要がありますか? dispatch_qu

    2

    1答えて

    GCDは、CPUを最大限に活用するために必要な数だけスレッドを作成することを理解します。 dispatch_asyncを使って約30回のバックグラウンドタスクを実行するコードでは、アクティビティモニターでスレッド数が約30回ジャンプしています。私はそれがデュアルコアのPCなので、それは期待できませんでした。 私は何かを誤解していると確信しています。誰かが何が起こっているか教えてもらえますか?

    7

    1答えて

    私はGCDをかなり新しくしており、これに対する答えを見つけようとしていました。コードで、私はキューを解放する必要があり dispatch_queue_t queue = dispatch_queue_create("queue", NULL); dispatch_async(queue, ^{ // do some stuff }); :私は、次のコードを持っていると仮定すると?