inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

concurrent질문입니다.

276

이한규

작성한 질문수 5

1

아래처럼 concurrent임에도 클로저내에 있는 task들은 하나로 취급되어 print(slowadd(1,5))하나하나는 모두 동일한 스레드에서 처리되는건가요?
 
 
 
 

swift ios

답변 1

0

앨런(Allen)

네 맞습니다.
하나의 클로저에 들어있는 여러 함수의 실행문들이 하나의 작업으로 묶이는 개념입니다. 그렇기 때문에 저렇게 하신 모든 작업이 사실상 "하나의 작업"이고, 따라서.. 하나의 쓰레드에 배치가 됩니다.

그렇기 때문에
실험을 해보시면.. 출력의 순서가 차례대로 일어납니다.

그래서.. slowAdd 함수 실행을... 

slowAdd(1, 2)
slowAdd(2, 3)
slowAdd(3, 4)
slowAdd(4, 5)

이런 식으로 해보시면,
하나의 작업이기 때문에 ===> 
비동기(async), 동시적(concurrent)임에도 불구하고
순서대로 출력되는 것을 보실 수 있으실 꺼예요!


고맙습니다.

0

이한규

3개의 답변 감사합니다.

대학생때 수 많은 교수님께 질문하고 답변을 받아왔지만,

이건 뭐 교수님보다 명쾌한데요 답변들이..

 

감사합니다. 또 찾아올게요 

0

앨런(Allen)

아이고! 이렇게 좋은 말씀을...ㅎㅎ

좋은 답변들이 되기 바랍니다. :)

오퍼레이션 큐 질문

0

147

2

2) 오퍼레이션큐(OperationQueue) 강의 질문입니다

0

153

2

warning 뜸

0

169

1

수업자료 markup 에 대해 궁금합니다!

0

285

1

예제 프로젝트 빌드 실패

0

344

2

serial 큐 질문드립니다.

0

261

1

[7-3.DispatchBarrier] 예제 코드 질문

0

337

1

안녕하세요, GCD 관련 질문드립니다..

0

292

1

main.async 작동 질문(+ vs global(),async)

0

442

1

dismiss 되었을 때 종료질문

0

314

1

'동기'와 '동시성 프로그래밍'에 대해 질문드립니다.

0

510

2

Dependency Protocol 관련

1

376

1

시리얼 큐와 sync 관련

0

477

2

sync이지만 Queue에 넣으면 async로 동작한다는 말의 의미

0

658

1

lazy var 이슈로 생긴 여러 변수들은 어디에 있나요?

0

391

1

global큐에 sync로 작업을 보냈을 때는 터지지 않는 이유가 궁금합니다.

1

518

2

비동기 개념에서 무엇을 return하는 거죠??

0

398

1

안녕하세욤

1

348

1

Barrier 작업 관련 질문입니다.

1

350

1

디스패치 그룹

1

386

1

global async안에 global async를 만들게되면 어떻게 되나요??

2

393

2

동기적 함수를 비동기적 함수로 바꾸는 부분에서 질문 있습니다

1

296

2

비동기오퍼레이션 관련 질문

1

378

1

강의자료는 어디에 있나요?

1

328

1