ThreadPool.GetMinThreads(Int32, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengambil jumlah minimum utas yang dibuat kumpulan utas sesuai permintaan, karena permintaan baru dibuat, sebelum beralih ke algoritma untuk mengelola pembuatan dan penghancuran utas.
public:
static void GetMinThreads([Runtime::InteropServices::Out] int % workerThreads, [Runtime::InteropServices::Out] int % completionPortThreads);
public static void GetMinThreads(out int workerThreads, out int completionPortThreads);
static member GetMinThreads : int * int -> unit
Public Shared Sub GetMinThreads (ByRef workerThreads As Integer, ByRef completionPortThreads As Integer)
Parameter
- workerThreads
- Int32
Ketika metode ini kembali, berisi jumlah minimum utas pekerja yang dibuat kumpulan utas sesuai permintaan.
- completionPortThreads
- Int32
Ketika metode ini kembali, berisi jumlah minimum utas I/O asinkron yang dibuat kumpulan utas sesuai permintaan.
Contoh
Contoh berikut menetapkan jumlah minimum utas pekerja menjadi empat, dan mempertahankan nilai asli untuk jumlah minimum utas penyelesaian I/O asinkron.
using System;
using System.Threading;
public class Test
{
public static void Main()
{
int minWorker, minIOC;
// Get the current settings.
ThreadPool.GetMinThreads(out minWorker, out minIOC);
// Change the minimum number of worker threads to four, but
// keep the old setting for minimum asynchronous I/O
// completion threads.
if (ThreadPool.SetMinThreads(4, minIOC))
{
// The minimum number of threads was set successfully.
}
else
{
// The minimum number of threads was not changed.
}
}
}
Imports System.Threading
Public Class Test
<MTAThread> _
Public Shared Sub Main()
Dim minWorker, minIOC As Integer
' Get the current settings.
ThreadPool.GetMinThreads(minWorker, minIOC)
' Change the minimum number of worker threads to four, but
' keep the old setting for minimum asynchronous I/O
' completion threads.
If ThreadPool.SetMinThreads(4, minIOC) Then
' The minimum number of threads was set successfully.
Else
' The minimum number of threads was not changed.
End If
End Sub
End Class
Keterangan
Kumpulan utas menyediakan utas pekerja baru atau utas penyelesaian I/O sesuai permintaan hingga mencapai minimum untuk setiap kategori. Secara default, jumlah minimum utas diatur ke jumlah prosesor pada sistem. Ketika minimum tercapai, kumpulan utas dapat membuat utas tambahan dalam kategori tersebut atau menunggu hingga beberapa tugas selesai. Dimulai dengan .NET Framework 4, kumpulan utas membuat dan menghancurkan utas untuk mengoptimalkan throughput, yang didefinisikan sebagai jumlah tugas yang selesai per unit waktu. Terlalu sedikit utas mungkin tidak memanfaatkan sumber daya yang tersedia secara optimal, namun terlalu banyak utas dapat meningkatkan perebutan sumber daya.
Note
Ketika permintaan rendah, jumlah aktual utas kumpulan utas dapat berada di bawah nilai minimum.