본문 바로가기
앱/iOS(Swift)

[CS] 동기 비동기, 직렬 동시

by 리드맥 2022. 3. 14.

동기 Sync: 메인스레드에서 다른스레드에게 작업 시키고 끝날때 까지 기다림

비동기 Async:  메인스레드에서 다른스레드에게 작업을 시키고 끝날때 까지 기다리지 않음

->작업을 보낸 시점에서 기다릴지 말지

 

직렬  Serial: 단 하나의 쓰레드로만 작업을 보내는 대기열

동시 Concurrent:  여러개의 다른스레드로 작업을 보내는 대기열

-> 쓰레드를 1개만 사용할지 여러개 사용할지

 

GCD: 멀티스레딩을 쉽게하기위해서 애플에서 제공하는 API

main Thread에서 하던일들을 queue에 보내주면 적절히 생성후 분배해주는 기능

 

메인 동기-> GCD 에서 직렬 사용하면 -> 쓰레드1 한개만 사용 -> 메인은 쓰레드1 Task끝날떄 까지 기다림

메인 동기-> GCD 에서 동시 사용하면 -> 쓰레드 여러개 사용 -> 메인은 쓰레드 Task 다 끝날때 까지 기다림

메인 비동기 -> Task 보내고 끝날때 까지 안기다림 

댓글