해결된 질문
작성
·
34
1
섹션4. CoroutineDispatcher 에서 미리 정의된 공유스레드 풀 내에 Dispatchers.Defualt 는 프로세서 개수(최하 2), Dispatchers.IO (64or프로세서 개수 중의 큰 수) 의 개수만큼의 스레드가 할당되는건가요?
- 학습 관련 질문을 남겨주세요. 질문을 상세히 작성하면 더 좋습니다.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
답변 2
1
아무도_모를_아이디 님 안녕하세요. 지식 공유자 조세영입니다.
말씀 주신대로 강의에서 사용한 코루틴 라이브러리 버전을 기준으로 Dispatchers.Default는 프로세서 개수와 2중 큰 값만큼 스레드를 만들 수 있도록 되어 있으며, Dispatchers.IO는 64와 프로세서 개수 중 큰 값만큼 스레드를 만들 수 있도록 되어 있습니다.
이 부분은 현재 이렇게 되어있더라도 추후 버전에서 바뀔 수 있습니다. 참고 부탁드립니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 아무도_모를_아이디님.
코틀린의 CoroutineDispatcher에서 Dispatchers.IO
와 Dispatchers.Default
의 스레드 할당에 관련하여 질문하셨는데요, 이 부분에 대해 설명드리겠습니다.
Dispatchers.Default
는 CPU 집약적인 작업들을 위해 최적화된 스레드 풀을 제공합니다. 기본적으로, Dispatchers.Default
는 사용 가능한 CPU 코어 수에 따라 스레드를 할당하며, 최소 2개의 스레드를 사용합니다. 이는 CPU 작업을 효율적으로 나누어 처리하기 위해 설계되었습니다.
Dispatchers.IO
는 IO 작업에 최적화된 스레드 풀을 활용합니다. Dispatchers.IO
는 동시 IO 작업에 대해서 최대 64개 또는 가용 CPU 코어 수의 2배 중에서 더 큰 수의 스레드를 허용합니다. 이는 많은 IO 작업을 동시에 처리해야 할 때 발생하는 병목 현상을 줄이기 위해 지정된 설정입니다. 따라서 Dispatchers.IO
는 Dispatchers.Default
보다 더 많은 스레드를 사용 가능하도록 설계되었습니다.
관련된 유사한 질문 및 답변을 다음 링크에서 참고하실 수 있습니다:
위 링크를 통해 지식공유자님께서 남겨주신 보다 상세한 설명을 확인하실 수 있습니다. 질문에 도움을 드릴 수 있기를 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.