ThreadPool.GetAvailableThreads(Int32, Int32) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
GetMaxThreads(Int32, Int32) 메서드에서 반환하는 최대 스레드 풀 스레드 수와 현재 활성 상태인 스레드 수의 차이를 검색합니다.
public:
static void GetAvailableThreads([Runtime::InteropServices::Out] int % workerThreads, [Runtime::InteropServices::Out] int % completionPortThreads);
public static void GetAvailableThreads (out int workerThreads, out int completionPortThreads);
static member GetAvailableThreads : int * int -> unit
Public Shared Sub GetAvailableThreads (ByRef workerThreads As Integer, ByRef completionPortThreads As Integer)
매개 변수
- workerThreads
- Int32
사용 가능한 작업자 스레드 수입니다.
- completionPortThreads
- Int32
사용 가능한 비동기 I/O 스레드 수입니다.
예제
다음 예제에서는 간단한 앱이 시작될 때 사용할 수 있는 작업자 스레드 및 I/O 스레드 수를 표시합니다.
using System;
using System.Threading;
public class Example
{
public static void Main()
{
int worker = 0;
int io = 0;
ThreadPool.GetAvailableThreads(out worker, out io);
Console.WriteLine("Thread pool threads available at startup: ");
Console.WriteLine(" Worker threads: {0:N0}", worker);
Console.WriteLine(" Asynchronous I/O threads: {0:N0}", io);
}
}
// The example displays output like the following:
// Thread pool threads available at startup:
// Worker threads: 32,767
// Asynchronous I/O threads: 1,000
Imports System.Threading
Module Example
Public Sub Main()
Dim worker As Integer = 0
Dim io As Integer = 0
ThreadPool.GetAvailableThreads(worker, io)
Console.WriteLine("Thread pool threads available at startup: ")
Console.WriteLine(" Worker threads: {0:N0}", worker)
Console.WriteLine(" Asynchronous I/O threads: {0:N0}", io)
End Sub
End Module
' The example displays output like the following:
' Thread pool threads available at startup:
' Worker threads: 32,767
' Asynchronous I/O threads: 1,000
설명
반환될 때 GetAvailableThreads 지정된 workerThreads
변수에는 시작할 수 있는 추가 작업자 스레드 수가 포함되고, 지정된 completionPortThreads
변수에는 시작할 수 있는 추가 비동기 I/O 스레드 수가 포함됩니다.
사용 가능한 스레드가 없는 경우 스레드 풀 스레드를 사용할 수 있을 때까지 추가 스레드 풀 요청이 대기 상태로 유지됩니다.