ThreadPool.SetMaxThreads(Int32, Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
동시에 활성 상태가 될 수 있는 스레드 풀에 대한 요청 수를 설정합니다. 해당 개수를 초과하는 모든 요청은 스레드 풀 스레드가 사용 가능해질 때까지 큐에 대기 상태로 남아 있습니다.
public:
static bool SetMaxThreads(int workerThreads, int completionPortThreads);
public static bool SetMaxThreads (int workerThreads, int completionPortThreads);
static member SetMaxThreads : int * int -> bool
Public Shared Function SetMaxThreads (workerThreads As Integer, completionPortThreads As Integer) As Boolean
매개 변수
- workerThreads
- Int32
스레드 풀에 있는 최대 작업자 스레드 수입니다.
- completionPortThreads
- Int32
스레드 풀에 있는 최대 비동기 I/O 스레드 수입니다.
반환
성공적으로 변경되면 true
이고, 그렇지 않으면 false
입니다.
설명
Windows 스레드 풀이 .NET 스레드 풀 대신 사용하도록 구성된 경우에는 이 메서드가 지원되지 않습니다. 자세한 내용은 Windows 스레드 풀 구성 설정을 참조하세요.
최대 작업자 스레드 수 또는 I/O 완성 스레드 수는 컴퓨터의 프로세서 수보다 작은 수로 설정할 수 없습니다. 존재하는 프로세서 수를 확인하려면 속성 값을 검색합니다 Environment.ProcessorCount . 또한 작업자 스레드 또는 I/O 완료 스레드의 최대 수를 해당하는 최소 작업자 스레드 수 또는 I/O 완료 스레드 수보다 작은 수로 설정할 수 없습니다. 최소 스레드 풀 크기를 확인하려면 메서드를 호출합니다 GetMinThreads .
공용 언어 런타임이 호스트되는 경우(예: IIS(인터넷 정보 서비스) 또는 SQL Server) 호스트는 스레드 풀 크기 변경을 제한하거나 방지할 수 있습니다.
스레드 풀의 최대 스레드 수를 변경할 때는 주의해야 합니다. 코드가 도움이 될 수 있지만 변경 내용은 사용하는 코드 라이브러리에 부정적인 영향을 미칠 수 있습니다.
스레드 풀 크기를 너무 크게 설정하면 성능 문제가 발생할 수 있습니다. 스레드가 너무 많이 동시에 실행되는 경우 오버헤드를 전환하는 작업이 중요한 요소가 됩니다.
참고
스레드 풀에는 최대 스레드 수(예: short.MaxValue
구현에 따라 )에 대한 상한이 있을 수 있습니다. 인수 값은 상한으로 제한되므로 메서드가 를 반환 true
하더라도 실제 최대 스레드 수는 요청된 것보다 낮을 수 있습니다.
적용 대상
추가 정보
.NET