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

BBIRA님의 프로필 이미지
BBIRA

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

자바 백엔드 웹 기술 역사

CPU Threads

작성

·

210

·

수정됨

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예

[질문 내용]
여기에 질문 내용을 남겨주세요.

 

CPU 하나가 쓰레드 여러개를 동시에 처리하는 것이 불가능하다고 하셨는데 이렇게 되면 CPU코어 수 이상으로 쓰레드를 생성하는 것이 효율적이라 할 수 있나요..?? 컨텍스트 스위칭 비용은 똑같은 것이 아닌가요? 잘 이해가 되지 않습니다

CPU 코어 하나가 쓰레드 여러개를 동시에 처리하는 것은 불가능하지만, CPU 코어 하나에 여러개의 쓰레드를 할당할 수 있기 때문인가요?

답변 1

0

안녕하세요. BBIRA님, 공식 서포터즈 코즈위버입니다.

아시다시피 동시에 여러개의 시스템을 연속적으로 사용하는 것처럼 처리하기 위해 프로세스를 번갈아가며 처리합니다. 즉 CPU는 순간적으로 한 개의 프로세스가 차지합니다.

한 개의 프로세스 내에 여러개의 쓰레드 라는 흐름을 만들수 있는데 이 쓰레드는 각각 1개의 코어에 할당하여 처리할 수 있습니다. 이때 쓰레드가 코어의 갯수보다 많을 수 있으나, 기본적으로 코어가 많다면 한 번에 처리하는 쓰레드의 수가 많아지므로 더 빨리 처리할 수 있습니다.

감사합니다.

BBIRA님의 프로필 이미지
BBIRA

작성한 질문수

질문하기