Następujący kod:dispatch_get_global_queue zachowanie
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
for (int i=0; i<100000; i++) {
NSLog(@"HIGH 1 %d", i);
}
});
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
for (int i=0; i<100000; i++) {
NSLog(@"LOW %d", i);
}
});
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
for (int i=0; i<100000; i++) {
NSLog(@"HIGH 2 %d", i);
}
});
wyniki w mieszaninie wysoko 1 2 wysokiej i niskiej kłody.
Jak to jest, że drukuje jednocześnie logi high1 i high2. nie są blogami high1 i high2 w tej samej kolejce? Czyż nie powinieneś zakończyć high1 bloku przed rozpoczęciem wykonywania bloku high2?