YagomCareerStarterCamp-6 / Interview-study-in-swift

1 stars 0 forks source link

[9주차] Q1_GCD API 동작 방식과 필요성에 대해 설명하시오. #26

Open Judy-999 opened 1 year ago

Judy-999 commented 1 year ago
kiwi1023 commented 1 year ago

작업(Task)을 “대기행렬”에 보내기만 하면, 큐(Queue)
iOS(운영체제시스템)가 알아서 여러쓰레드로 나눠서 분산처리를 한다. 항상 선입선출 (FIFO)로 동작

kiwi1023 commented 1 year ago

시간이 오래걸리는 작업 진행 시 어플리케이션의 실행을 방해하면 안되기에 멀티 코어에서 큰 작업을 여러개로 분할하여 진행해야 하기에 메모리 공간과 시스템 자원 절약하기 위해서

Judy-999 commented 1 year ago

Grand Central Dispatch로 Apple이 제공하는 멀티 코어 환경과 멀티 스레드 환경에서 최적화된 프로그래밍을 도와주는 기술입니다.

동시성 프로그래밍이란 여러가지 일을 쪼개서 돌아가면서 작업하여 동시에 처리되듯 하는 방식입니다. 동시성 프로그래밍을 구현하려면 멀티 스레드 환경이어야 합니다. 많은 스레드들을 개발자가 직접 관리하기는 어려워 Apple에서는 GCD를 통해 개발자가 동기/비동기만 코드로 처리해주면 시스템이 알아서 스레드를 관리하게 해줍니다.

Groot-94 commented 1 year ago

직렬, 동시 방식