강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

ab kim님의 프로필 이미지
ab kim

작성한 질문수

앨런 iOS Concurrency(동시성) - 디스패치큐와 오퍼레이션큐의 이해

2) 시리얼큐와 Sync

시리얼큐와 Sync

작성

·

166

1

"GCD - 7.(심화) Thread-safe한 코드의 구현과 방법"에서 두번째 강의 "시리얼큐와 Sync"의 7분 44초 부분 질문입니다.

 

ppt 맨아래에 "디폴트 글로벌큐에서의 기다림/시리얼큐에서의 기다림이 아님" 이라고 적혀있는데,

이 부분을 "디폴트 글로벌큐에서의 기다림 그리고 시리얼큐에서의 기다림이 아님" 이라고 이해하는게 맞는건가요?

코드에서 global큐에서 sync 코드를 시작하고 있으니 디폴트 글로벌 큐에서 기다리는게 아닌가 잘 이해가 안가서 질문드립니다.

 

답변 1

1

앨런(Allen)님의 프로필 이미지
앨런(Allen)
지식공유자

아 네 mi kim 님! 

해당 내용은 디폴트 글로벌 큐에서 읽기 작업을 기다린다는 의미 입니다.
즉, 헷갈리실까봐 제가 강조해서 다시 한번 "시리얼큐에서의 기다림이 아님"이라고
추가 설명을 붙인 거예요.


예를 들어서, 디폴트 글로벌큐가 2, 3, 4번 쓰레드를 사용한다고 할때,
(시리얼큐가 5번 쓰레드를 사용한다고 가정을 해보면)

글로벌큐(2, 3, 4번 쓰레드 중)에서 하나에서
읽기 작업(_count변수를 읽는..)을 시리얼큐 (5번 쓰레드)로 보내고

해당 작업을 2, 3, 4번 쓰레드 중 하나의 쓰레드작업(5번쓰레드로 보낸 작업이 끝날때까지)을 기다린다는 의미이지
5번 쓰레드가 작업을 기다리는 것은 아니다 라는 뜻에서 다시 한번 강조해서 말씀드린 거예요!

혹시, 해결이 안되시면 다시 질문주세요 ^^


감사합니다. :)

 

 

ab kim님의 프로필 이미지
ab kim

작성한 질문수

질문하기