쓰레드와 자원에 대한 질문
글쓴이: declspec / 작성시간: 금, 2012/06/15 - 12:25오후
리눅스에서 pthread 로, 윈도우즈에서 CreateThread 등의 API 로 쓰레드를 생성하는데
이 쓰레드들은 커널 쓰레드 스케줄러의 독립된 스케줄 단위가 되나요?
물론 OS 의 설정에 따라 다르겠지만 일반적으로 기본 설정의 OS의 평범한 PC 에서 프로그램을 짯을때
어떻게 될까요?
만약 한 프로세스가 100000개의 쓰레드를 생성했는데 커널 스케줄 단위가 쓰레드마다 동일하다면,
이 프로세스의 쓰레드들을 스케줄하느라 다른 프로세스들이 starvation 을 겪게 되지 않을까요?
이런 문제는 어떻게 해결되나요?
Forums:
OS마다 starvation을 방지하도록 스케줄러를
OS마다 starvation을 방지하도록 스케줄러를 구현합니다.
리눅스는 간단히 말하면 오랫동안 실행되지 않은 쓰레드에게 우선권을 주는 방식을 사용하는걸로 알고있습니다.
댓글 달기