ThreadPool.SetMaxThreads(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.
Mengatur jumlah permintaan ke kumpulan utas yang dapat aktif secara bersamaan. Semua permintaan di atas angka tersebut tetap diantrekan hingga utas kumpulan utas tersedia.
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
Parameter
- workerThreads
- Int32
Jumlah maksimum utas pekerja di kumpulan utas.
- completionPortThreads
- Int32
Jumlah maksimum utas I/O asinkron di kumpulan utas.
Mengembalikan
true
jika perubahan berhasil; jika tidak, false
.
Keterangan
Metode ini tidak didukung ketika kumpulan utas Windows dikonfigurasi untuk digunakan alih-alih kumpulan utas .NET. Untuk informasi selengkapnya, lihat pengaturan konfigurasi kumpulan utas Windows.
Anda tidak dapat mengatur jumlah maksimum utas pekerja atau utas penyelesaian I/O ke angka yang lebih kecil dari jumlah prosesor di komputer. Untuk menentukan berapa banyak prosesor yang ada, ambil nilai Environment.ProcessorCount properti . Selain itu, Anda tidak dapat mengatur jumlah maksimum utas pekerja atau utas penyelesaian I/O ke angka yang lebih kecil dari jumlah minimum utas pekerja yang sesuai atau utas penyelesaian I/O. Untuk menentukan ukuran kumpulan utas minimum, panggil GetMinThreads metode .
Jika runtime bahasa umum dihosting, misalnya oleh Internet Information Services (IIS) atau SQL Server, host dapat membatasi atau mencegah perubahan pada ukuran kumpulan utas.
Berhati-hatilah saat mengubah jumlah maksimum utas di kumpulan utas. Meskipun kode Anda mungkin mendapat manfaat, perubahan mungkin memiliki efek buruk pada pustaka kode yang Anda gunakan.
Mengatur ukuran kumpulan utas terlalu besar dapat menyebabkan masalah performa. Jika terlalu banyak utas yang dijalankan pada saat yang sama, overhead pengalihan tugas menjadi faktor yang signifikan.
Catatan
Kumpulan utas mungkin memiliki batas atas untuk jumlah utas maksimum (seperti short.MaxValue
, tergantung pada implementasinya). Nilai argumen dibatasi hingga batas atas, jadi bahkan ketika metode mengembalikan , jumlah utas true
maksimum aktual mungkin lebih rendah dari yang diminta.