답변:
운영 체제에 대한 제한된 지식으로 모든 프로세스에는 적어도 하나의 스레드가 있으며 프로세스 자체가 아니라 예약 된 스레드입니다. 프로세스는 단순히 프로그램 및 실행하도록 설정된 스레드에 대한 정보를 보유합니다. 이런 방식으로 단일 스레드 응용 프로그램은 다중 스레드 응용 프로그램과 동일한 처리 방법을 갖지만 다중 스레드 응용 프로그램은 리소스를 더 잘 사용할 수 있습니다.
예를 들어, 각각 2 개의 스레드가있는 2 개의 프로세스와 하나의 스레드 응용 프로그램이 있으며 이중 코어 프로세서 (또는 이중 CPU에서 모두 작동하지 않음)를 가정합니다.
Process A
|_Thread A-1
|_Thread A-2
Process B
|_Thread B-1
|_Thread B-2
Process C
|_Thread C
각 스레드는 CPU의 모든 코어에서 예약 가능하며 OS 스케줄러에 의해로드 균형이 조정됩니다.
프로세스 B의 프로세서 선호도를 설정하여 하나의 CPU로 제한하면 해당 프로세스의 모든 스레드가 해당 CPU에 바인딩되어 다른 CPU에서 실행되지 않습니다. 프로세스 C와 동일하게 수행하면 한 번에 하나의 CPU에서만 실행될 수 있으므로 실제 변경은 발생하지 않습니다.