ThreadPool.SetMaxThreads(Int32, Int32) Metodo
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Imposta il numero di richieste al pool di thread che possono essere attivate contemporaneamente. Tutte le richieste al di fuori di tale numero rimangono in coda fino a quando non diventano disponibili thread di pool di thread.
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
Numero massimo di thread di lavoro nel pool di thread.
- completionPortThreads
- Int32
Numero massimo di thread I/O asincroni nel pool di thread.
true
se la modifica ha esito positivo; in caso contrario, false
.
Questo metodo non è supportato quando il pool di thread di Windows è configurato per essere usato invece del pool di thread .NET. Per altre informazioni, vedere l'impostazione di configurazione del pool di thread di Windows.
Non è possibile impostare il numero massimo di thread di lavoro o thread di completamento di I/O su un numero inferiore al numero di processori nel computer. Per determinare il numero di processori presenti, recuperare il valore della Environment.ProcessorCount proprietà . Inoltre, non è possibile impostare il numero massimo di thread di lavoro o thread di completamento di I/O su un numero inferiore al numero minimo corrispondente di thread di lavoro o thread di completamento di I/O. Per determinare le dimensioni minime del pool di thread, chiamare il GetMinThreads metodo .
Se Common Language Runtime è ospitato, ad esempio da Internet Information Services (IIS) o SQL Server, l'host può limitare o impedire modifiche alle dimensioni del pool di thread.
Prestare attenzione quando si modifica il numero massimo di thread nel pool di thread. Anche se il codice può trarre vantaggio, le modifiche potrebbero avere un effetto negativo sulle librerie di codice usate.
L'impostazione delle dimensioni del pool di thread troppo grandi può causare problemi di prestazioni. Se troppi thread vengono eseguiti contemporaneamente, il sovraccarico del cambio di attività diventa un fattore significativo.
Nota
Il pool di thread può avere limiti superiori per il numero massimo di thread, ad esempio short.MaxValue
, a seconda dell'implementazione. I valori degli argomenti vengono limitati al limite superiore, quindi anche quando il metodo restituisce true
, il numero massimo effettivo di thread può essere inferiore a quello richiesto.
Prodotto | Versioni |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: