강의

멘토링

커뮤니티

Inflearn Community Q&A

forhyp3093's profile image
forhyp3093

asked

Alan Swift Concurrency for Swift 6 (Part-2)

4) Cooperative Thread Pool 5) Comparison of Thread Usage: GCD vs Swift Concurrency (Lecture 3)

협력적 쓰레드 풀에서 쓰레드 운영방식 질문 드립니다.

Resolved

Written on

·

67

0

3강 협력적 쓰레드 풀에서 쓰레드 운영방식에 대한 질문 드립니다.

보통 컴퓨터 살때 8코어, 10코어..이런식으로 얘기 하잖아요..

CPU당 하나의 쓰레드를 만들어서 운영한다면 Swift Concurrency에서는 8개, 10개 정도의 쓰레드만 가지고 동작하는건가요?

 

iosswift동시성async-awaitconcurrency

Answer 1

0

allen님의 프로필 이미지
allen
Instructor

Julie님 안녕하세요!

 

네 정확하게 맞습니다. 운영체제에서 CPU당 하나의 쓰레드를 만들어서 운영하게되어.. 8코어, 10코어 CPU라면 Swift Concurrency에서는 8개, 10개의 쓰레드만 가지고 동작하는 것이 맞습니다.
(CPU 1개당 1개의 쓰레드만 생성하게 되죠.)

그게 기존의 GCD하고는 다르게 "협력적 쓰레드풀"이 동작하는 방식이라고 보시면 됩니다. 그럼에도 불구하고, 기존의 GCD 이상으로 효율적으로 동작할 수 있는 것은.. 쓰레드를 운영체제에 양보하기 때문에 (쓰레드를 사용하지 않는 동안, 다른 작업(함수)이 쓰레드를 점유하고 사용할 수 있기 때문에) GCD처럼 쓰레드를 계속 생성하지 않고도 효율적으로 동작할 수 있는 것이라고 보시면 됩니다.
(스택 메모리 사용 등.. 물론 이런 면에서도 더 효율적으로 동작하는 것도 맞고요.)

 

감사합니다. :)

forhyp3093's profile image
forhyp3093

asked

Ask a question