내 교과서 상태 : 순수한 ULT (사용자 수준 스레드) 전략에서순수 사용자 수준의 스레드 전략에서 다중 스레드 응용 프로그램이 다중 처리를 이용할 수없는 이유는 무엇입니까? 다음
는 멀티 스레드 응용 프로그램이 멀티 프로세싱을 이용할 수 없습니다. 커널은 한 번에 하나의 프로세서에만 하나의 프로세스 을 할당합니다. 따라서 한 프로세스에 하나의 스레드 만 실행할 수 있습니다. 실제로 단일 프로세스 내에서 응용 프로그램 수준의 멀티 프로그래밍이 가능합니다. 이 멀티 프로그래밍을 사용하면 응용 프로그램의 속도가 상당히 빨라지지만 코드를 동시에 실행할 수있는 응용 프로그램이 있습니다.
사용자 수준 스레드, 다중 스레드 및 다중 처리 같은 기본 개념을 이해합니다. 그러나 멀티 스레드 응용 프로그램이 순수 ULT 전략에서 다중 처리를 이용할 수없는 이유에 대해서는 위의 칭의을 이해하지 못합니다.
누군가가 시간을내어 명확하게 설명해 주시면 감사하겠습니다.
커널이 스레드를 인식하지 못하기 때문입니다. 프로세스를 실행하고 스레드를 실행하도록 예약하기 위해 사용자 수준 라이브러리의 작업 만 할당합니다. 따라서 5 개의 쓰레드가있는 프로세스가 있다면, 같은 'CPU'에서 실행중인 시간을 공유하게됩니다. –