• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    해결됨

멀티태스킹, 멀티쓰레드에서 질문이 있습니다.

23.08.15 21:26 작성 조회수 212

0

강사님 좋은 강의 감사합니다.

정확하게 이해를 하지 못해서 질문을 남겨봅니다.

cpu에서 실행 단위가 쓰레드라고 말씀해주셨는데

 

cpu가 쓰레드를 하나씩 대기 큐에서 코어가 감당할수 있는 쓰레드만큼 꺼내서 실행하고 다음 쓰레드를 실행한다고 이해를 했습니다.

멀티 태스킹은 하나의 os안에 여러 프로세스가 실행이 가능하게 한다는 의미로 이해를 했는데

 

그러면 프로세스 A 안에 있는

쓰레드 A-1, A-2,A-3이 있고

프로세스 B안에 있는

쓰레드 B-1,B-2,B-3가 있다면

 

대기큐에 [ A-1,A-2,A-3,B-1,B-2,B-3 ]

있다고 할때

CPU 코어가 3개라면

A-1,A-2,A-3 쓰레드를 꺼내서 실행하고 빠르게 B-1,B-2,B-3를 꺼내서 실행하는걸 반복하다보니

사용자 입장에서는 A,B 프로세스 둘 다 같이 동작하느거처럼 느낀다고 보는걸까요?

답변 1

답변을 작성해보세요.

1

네, 맞습니다. 한 가지 보완할 것은...
CPU가 대기열에서 스레드를 하나씩 꺼내는 것은 아닙니다. 스레드를 대기열로 관리하는 주체는 운영체제입니다. 이 부분만 고쳐 생각하시면 되겠습니다. 감사합니다. :)