메인 스레드에서 작업을 수행하기 위한 GCD 어떤 스레드에서든 발생할 수 있는 콜백이 있습니다.이 콜백을 받으면 메인 스레드에서 특정 작업을 수행하고 싶습니다. 내가 이미 메인 스레드에 있는지 확인해야 합니까? 아니면 아래 코드를 호출하기 전에 이 확인을 수행하지 않으면 패널티가 발생합니까? dispatch_async(dispatch_get_main_queue(), ^{ // do work here }); 아니요, 이미 메인 스레드에 있는지 확인할 필요는 없습니다.블록을 주 대기열에 배치하면 해당 실행 루프가 실행될 때 발생하는 주 스레드에서 연속적으로 실행되도록 블록을 예약할 수 있습니다. 이미 메인 스레드에 있는 경우 동작은 동일합니다. 블록이 예약되고 메인 스레드의 실행 루프가 실행될 때 실행됩니다..