GCD2 [스위프트] GCD API 동작 방식과 필요성 GCD: 백그라운드에서 스레드를 관리하면서 동시적으로 작업을 실행시키는 저수준 API를 제공하는 라이브러리이다(C) 앱을 실행하면 시스템이 자동으로 메인스레드 위에서 동작하는 Main 큐(Serial Queue)를 만들어서 작업을 수행행, 그 외에 여러 개의 Global 큐(Cuncurrent Queue)를 추가적으로 만들어서 큐를 관리한다 Dispatch Queues: FIFO 순서로 작업을 실행시키는 역할을 담당 Serial Dispatch Queue: 한번에 한 작업만 실행시킨다. Concurrent Dispatch Queue: 시작한 작업이 끝나는것을 기다리지 않고 가능한 많은 작업을 실행시킨 Main Dispatch Queue, 앱의 메인 스레드에서 작업을 실행할 수있는 전역에서 사용가능한 시리.. 2022. 1. 12. [스위프트] NSOperationQueue 와 GCD Queue 의 차이점 ios에서 멀티 스레딩 을 위한 API: NSOperation, GCD NSOperation은 GCD보다 약간의 오버헤드가 더 발생되고 느리지만 GCD는 직접 처리해야 하는 작업들을 지원 하고 있기 때문에 (KVO관찰(key-velue observer), 작업취소 등등) 감수하고 사용할만하다. NSOperation: Obj-C 기반으로 만들어진 high-level API NSOperationQueue operation Queue에 추가된 작업은 작업이 완료될 때까지 대기열에 남아 있다. 작업이 추가된 후에는 대기열에서 직접 제거할 수 없기 때문에 모든 작업이 끝나지 않은 상태에서 Operation queue를 중지시키면 메모리 릭이 발생할 수 있다 하이 레벨이기 때문에 GCD 에서할 수 없는기능(ex: .. 2022. 1. 12. 이전 1 다음