CreateProcessAsUser
Windows API 메서드를 사용하여 프로세스를 만듭니다. 보안 토큰으로 프로세스를 생성하고이를 작업 개체에 추가합니다.특정 프로세스의 최대 스레드 수는 어떻게 설정합니까?
보안 토큰이나 작업 개체 또는 다른 방법을 사용하여 응시 할 프로세스의 최대 스레드 수를 제한 할 수 있습니까?
저는 C#을 사용하고 있지만 해결책이 직접 Windows API 호출을 호출하는 경우 언어는 중요하지 않습니다.
CreateProcessAsUser
Windows API 메서드를 사용하여 프로세스를 만듭니다. 보안 토큰으로 프로세스를 생성하고이를 작업 개체에 추가합니다.특정 프로세스의 최대 스레드 수는 어떻게 설정합니까?
보안 토큰이나 작업 개체 또는 다른 방법을 사용하여 응시 할 프로세스의 최대 스레드 수를 제한 할 수 있습니까?
저는 C#을 사용하고 있지만 해결책이 직접 Windows API 호출을 호출하는 경우 언어는 중요하지 않습니다.
특정 프로세스에 대한 코드를 작성하고이 문제를 수동으로 처리하는 경우를 제외하고 프로세스에 포함될 스레드 수를 제어 할 수 없습니다. Windows는 프로세스 당 쓰레드에 대한 제한이 없으므로 주소 공간 사용의 문제 일 뿐이므로 특정 프로세스에 대한 제한을 설정할 수있을뿐만 아니라 전체 시스템에 대해 설정할 수 없습니다.
프로세스가 생성 할 수있는 스레드 수는 사용 가능한 리소스에 의해서만 제한됩니다. 프로세스의 스레드 제한을 설정하는 방법은 없으며 특히 외부 적으로 설정할 수 있습니다.
나는 프로세스가 새 스레드를 만들려고 시도 할 때 어떤 일이 일어날 지 고려해야한다고 생각한다. (특히 Windows API가 새 스레드를 만들고 실패 할 경우 API 호출이 쉽게 실패하지 않을 수 있습니다.) 그러나 프로세스에서 사용할 수있는 CPU 코어를 지정하고 Windows에서 사용할 수 있습니다 8 최대 CPU 비율을 지정할 수 있습니다. –
@HarryJohnston, 귀하의 의견에 감사드립니다! 나는 CPU 사용 제한을 고려할 것이다. –