| #import <dispatch/dispatch.h> | |
| #include <stdio.h> | |
| void one() { | |
| printf("one...\n"); // breakpoint 1 | |
| } | |
| void two() { | |
| printf("two...\n"); | |
| one(); | |
| } | |
| void three() { | |
| printf("three...\n"); | |
| two(); | |
| } | |
| int main(int argc, char *argv[]) { | |
| printf("main...\n"); | |
| // Nest from main queue > global queue > main queue. | |
| dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), | |
| ^{ | |
| dispatch_async(dispatch_get_main_queue(), ^{ | |
| three(); | |
| }); | |
| }); | |
| dispatch_main(); | |
| } |