Help us understand the problem. What is going on with this article?

GCDメモ dispatch_queue_set_specific

More than 3 years have passed since last update.

dispatch queueにキー、バリューデータを関連付ける。

keyvalue
void
dispatch_queue_set_specific(dispatch_queue_t queue, const void *key,
    void *context, dispatch_function_t destructor);
  • セットしたcontextはdispatch_queue_get_specificで取得できる。
  • デストラクタは新しいコンテキストが同じキーでセットされたとき、またはキューの参照がすべてリリースされた後に、"default priority global concurrent queue"をもつコンテキストによって呼び出される。

queue

  • セットするqueueを指定する。NULLは許されない。

key

  • keyはコンテキスにセットするキーであり、典型的にはサブシステムに固有な静的変数へのポインタ。
  • keyはポインタとしてのみ比較される。
  • 直接に文字定数のポインタを使用するのは推奨されない。
  • NULLは無効

context

  •  キーに関連するデータ、NULLでも良い。
  • オブジェクトについての新しいサブシステム固有のコンテキスト。NULLでもよい。

destructor

  • デストラクタ関数へのポインタ。ここでcontextのリリースをすることができる。NULLでも良い。コンテキストがNULLのときは無視される。
KatagiriSo
iOSフリーランスエンジニア。お仕事募集してます。 数理科学とプログラミングもくもく会 http://map.connpass.com/ 技術ブログ http://rodhos.hatenadiary.jp/ 最近の興味:機械学習、量子論
http://rodhos.info/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away