해당 포스팅은 iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operation - 디스패치큐와 오퍼레이션큐의 이해 강의를 수강하고 개인적으로 정리한 내용을 기록한 것 입니다.
비동기(Async)
작업을 보내고, 작업이 끝나는 것을 기다리지 않은 채 즉시 리턴 하는 방식을 말한다.
작업을 처리하는 시간 자체가 오래 걸릴 때, 그리고 작업이 언제 끝나는 지 관심 없을 때 유용하다.
물론, 작업이 끝날 때가 필요할 경우 completion handler를 통해 작업이 끝날 때 실행할 내용을 지정해 줄 수도 있다.
사용 예시는 다음과 같다.
동기(Sync)
작업을 보내고, 작업이 끝나는 것을 기다린 후 리턴한다.
작업 시간이 오래 걸리더라도 해당 작업 시간이 모두 끝날 때까지 기다린다. 따라서 실질적으로는 메인 스레드에서 일하는 것과 동일할 수 있어서 거의 사용하지 않는다.
사용 예시는 다음과 같다.