inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

앨런 Swift Concurrency for Swift 6 (Part-2)

4) 협력적 쓰레드 풀 5) 쓰레드 사용방식의 비교 GCD vs Swfit Concurrency (3강)

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

해결된 질문

112

Julie

작성한 질문수 4

0

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

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

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

 

ios swift 동시성 async-await concurrency

답변 1

0

앨런(Allen)

Julie님 안녕하세요!

 

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

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

 

감사합니다. :)

진로에 대한 질문...!

0

41

1

run() 메서드 안에 지역변수 sum을 사용한 이유

0

77

1

Static 선언 시 에러 발생

0

48

1

클로저의 형태로 만들다

0

52

1

Function Types Error

0

43

1

안드로이드 기기 실행 오류

0

68

2

중복 코드와 유지보수성 사이에서 어떤 기준으로 리팩토링해야 할지 궁금합니다

0

48

1

수강연장 가능할까요...

0

61

2

강의에서 사용된 안드로이드 스튜디오 버전을 알고싶어요.

0

64

2

SwiftData 미리보기 미적용

0

58

2

중괄호와 함수

0

60

2

70강 - 글로벌 액터로 격리된 Protocol 을 extension 에서 conform 시 타입 본체의 격리 수준 질문

0

82

1

20강 Task 내부에서 nonisolated async 호출 예제 질문드립니다

0

114

2

19강 Actor 의 동작 관련해 질문드립니다

0

130

2

Actor에서 Task vs Task.detached 사용 시 재진입 문제 질문

0

145

2

18강 NSCache 예시 질문

0

146

2

Task 클로저 내 `non-Sendable` 값 타입 접근 시, 캡처 리스트가 정의된 Task 순서에 따른 컴파일러 에러 차이

0

142

1

3강 스레드 제어권 관리 질문드립니다

0

100

1

10번 강의 관련하여 질문드립니다.

0

99

2

ImageProject 관련 문의

0

82

1

10강 내용 문의드립니다.

0

109

2

강의를 들으면서 생긴 질문이 있습니다.

0

168

3

안녕하세요. 액터 홉핑 관련 질문드립니다.

0

182

1

재개될 때 스레드 변경시 왜 컨텍스트 스위칭이 발생하지 않는 건가요?

0

350

2