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 スレッドの数が含まれます。
使用可能なスレッドがない場合、スレッド プールスレッドが使用可能になるまで、追加のスレッド プール要求はキューに残ります。