Noções básicas sobre dispatch_async

Eu tenho uma pergunta sobre esse código

dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    NSData* data = [NSData dataWithContentsOfURL: 
      kLatestKivaLoansURL];
    [self performSelectorOnMainThread:@selector(fetchedData:) 
      withObject:data waitUntilDone:YES];
});

O primeiro parâmetro deste código é

dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) 

Estamos pedindo a esse código para executar tarefas seriais na fila global cuja definição em si é que ele retorna uma fila simultânea global de um determinado nível de prioridade?

Qual é a vantagem de usardispatch_get_global_queue sobre a fila principal?

Estou confuso. Você poderia por favor me ajudar a entender isso melhor.

questionAnswers(3)

yourAnswerToTheQuestion