2012-02-08 14 views
1

私はGCDのために見つけた非常にまともな教訓を使用しています。新しいディスパッチキューを宣言する方法を示しています。Grand Central Dispatchの宣言方法

グランドセントラルディスパッチは、キューを使用して動作します。キューはCのtypedef: のdispatch_queue_tです。新しいグローバルキューを取得するには、 の優先度と未使用のオプションの符号なしlongという2つの引数をとる dispatch_get_global_queue()を呼び出します。 は0ulを渡します。中

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul); 

イム望んで誰かが何であるかを0UL私に説明することができますので、のようなパラメータとして、それは0UL渡すように言うことで

:ここでは、我々は、優先度の高いキューを取得する方法は?その理由は何ですか?

答えて

4

これはちょうど0なので、関数シグニチャと一致させるには、unsigned longにすることをulがコンパイラに指示しています。

dispatch_queue_t dispatch_get_global_queue(long priority、unsigned long flags);

ulを追加しないと、0は整数として扱われ、コンパイラの警告が発生する可能性があります。

こちらのドキュメントをご覧ください。

https://developer.apple.com/library/mac/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html

+0

右ああ、キューになりますオブジェクトに対して(もっと良い言葉の欠如のために)マーカーを設定thatsのように...それは私のデータ型とは何の関係もありません。マルチスレッドなどにしたいですか? –

+0

ドキュメントを見れば、使用されていないパラメータであることがわかります。 – Gary

+0

クールで、返事をいただきありがとうございます。これはもっと複雑になるはずです(マルチスレッド化されています)しかし、そうではありません!とても奇妙! –

関連する問題