○GCDについて
・タスクキューの種類
一度に一つのタスクを実行するserial dispatch queueと
複数のタスクを並列実行するconcurrent dispatch queueがある。
・タスクキューはARCが効かないので自分で参照カウントを管理する必要がある
dispatch_releaseとdispatch_retain関数を使う。
下記のようにasyncに渡したらすぐにqueueをreleaseしても問題ない。asyncに渡すとasyncの中でqueueがretainされるため。
- (void)method{ dispatch_queue_t queue = dispatch_queue_create("com.example.gcd.myQueue", DISPATCH_QUEUE_CONCURRENT); dispatch_async(queue, ^{ NSLog(@"test"); }); dispatch_release(queue); }