나는이 둘 사이의 성능 차이가 무엇인지 궁금합니다.GCD 대 커스텀 큐
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
// perform complex operation
// dispatch back to main thread to update UI
});
dispatch_async(_myCustomConcurrentQueue, ^{
// perform complex operation
// dispatch back to main thread to update UI
});
내 가정은 GCD는 운영 체제 및 다른 응용 프로그램에서 사용하고, 매우 빠른 백그라운드 작업을 수행하고, 신속하게 완료 할 필요가있을 것이다. 그리고 생성 된 커스텀 큐는 GCD와 별개의 것이고 다른 태스크를 실행할 수 있으며 풀어 놓으면 다시 풀에 추가됩니다. 그래서 제 가정은 customQueue가 복잡한 작업을 위해 GCD보다 성능이 뛰어나다는 것입니다.
귀하의 의견은 무엇입니까? 어느 것이 더 나은가? 그들은 같은가요?
문서 참조 자료를 얻을 시간이 없기 때문에 완전한 대답은 아니지만 두 호출은 거의 동일합니다. 대기열의 선택은 블록이 동일한 대기열 (또는 다른 전역 동시 대기열)의 다른 블록과 관련하여 스케줄되는 방법에 관한 것입니다. 기회는 결국 같은 기본 GCD 스레드에서 실행됩니다. –
"사용자 정의 대기열"_ GCD 대기열입니다. 그것은 같은 시스템입니다. –