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

아무도_모를_아이디님의 프로필 이미지

작성한 질문수

코틀린 코루틴 완전 정복

미리 정의된 CoroutineDispatcher - 1. Dispatchers.IO, Dispatchers.Default

공유 스레드 풀 질문드려요!

해결된 질문

작성

·

34

1

섹션4. CoroutineDispatcher 에서 미리 정의된 공유스레드 풀 내에 Dispatchers.Defualt 는 프로세서 개수(최하 2), Dispatchers.IO (64or프로세서 개수 중의 큰 수) 의 개수만큼의 스레드가 할당되는건가요?

 

- 학습 관련 질문을 남겨주세요. 질문을 상세히 작성하면 더 좋습니다.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 2

1

조세영님의 프로필 이미지
조세영
지식공유자

아무도_모를_아이디 님 안녕하세요. 지식 공유자 조세영입니다.

말씀 주신대로 강의에서 사용한 코루틴 라이브러리 버전을 기준으로 Dispatchers.Default는 프로세서 개수와 2중 큰 값만큼 스레드를 만들 수 있도록 되어 있으며, Dispatchers.IO는 64와 프로세서 개수 중 큰 값만큼 스레드를 만들 수 있도록 되어 있습니다.

이 부분은 현재 이렇게 되어있더라도 추후 버전에서 바뀔 수 있습니다. 참고 부탁드립니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 아무도_모를_아이디님.

코틀린의 CoroutineDispatcher에서 Dispatchers.IODispatchers.Default의 스레드 할당에 관련하여 질문하셨는데요, 이 부분에 대해 설명드리겠습니다.

Dispatchers.Default는 CPU 집약적인 작업들을 위해 최적화된 스레드 풀을 제공합니다. 기본적으로, Dispatchers.Default는 사용 가능한 CPU 코어 수에 따라 스레드를 할당하며, 최소 2개의 스레드를 사용합니다. 이는 CPU 작업을 효율적으로 나누어 처리하기 위해 설계되었습니다.

Dispatchers.IO는 IO 작업에 최적화된 스레드 풀을 활용합니다. Dispatchers.IO는 동시 IO 작업에 대해서 최대 64개 또는 가용 CPU 코어 수의 2배 중에서 더 큰 수의 스레드를 허용합니다. 이는 많은 IO 작업을 동시에 처리해야 할 때 발생하는 병목 현상을 줄이기 위해 지정된 설정입니다. 따라서 Dispatchers.IODispatchers.Default보다 더 많은 스레드를 사용 가능하도록 설계되었습니다.

관련된 유사한 질문 및 답변을 다음 링크에서 참고하실 수 있습니다:

위 링크를 통해 지식공유자님께서 남겨주신 보다 상세한 설명을 확인하실 수 있습니다. 질문에 도움을 드릴 수 있기를 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.