Commonly used ios gcd, iosgcd
Dispatch queue is divided into the following three types:
1) The Main queue running in the Main thread is obtained through dispatch_get_main_queue.
2) The global dispatch queue of the parallel queue is obtained through dispatch_get_global_queue. The system creates three dispatch queue with different priorities. The execution sequence of the parallel queue is the same as that of the queue.
3) serial queue serial queues is generally used for sequential synchronous access. You can create any number of serial queues, and each serial queue is concurrent.
// Background execution: dispatch_async (dispatch_get_global_queue (0, 0), ^ {// something}); // main thread execution: dispatch_async (dispatch_get_main_queue (), ^ {// something}); // One-time execution: static dispatch_once_t onceToken; dispatch_once (& onceToken, ^ {// code to be executed once }); // 2 seconds delayed execution: double delayInSeconds = 2.0; interval popTime = dispatch_time (DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after (popTime, interval (), ^ (void) {// code to be executed on the main queue after delay}); // custom queue urls_queue = dispatch_queue_create ("blog.devtang.com", NULL); dispatch_async (urls_queue, ^ {// your code}); dispatch_release (urls_queue); // merge the summary result dispatch_group_t group = dispatch_group_create (); dispatch_group_async (group, limit (0, 0 ), ^ {// thread 1 for parallel execution}); dispatch_group_async (group, dispatch_get_global_queue (), ^ {// thread 2 for parallel execution}); dispatch_group_notify (group, dispatch_get_global_queue (0, 0), ^ {// Summary Result });