共用方式為


ThreadPool.SetMaxThreads(Int32, Int32) 方法

定義

設定可並行使用之執行緒集區的要求數目。 超過該數目的所有要求會繼續佇列,直到可以使用執行緒集區執行緒為止。

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

執行緒集區中的背景工作執行緒最大數目。

completionPortThreads
Int32

執行緒集區中的非同步 I/O 執行緒最大數目。

傳回

如果變更成功,則為 true;否則為 false

備註

當 Windows 線程集區設定為使用而不是 .NET 線程集區時,不支援這個方法。 如需詳細資訊,請參閱 Windows 線程集區組態設定

您無法將背景工作線程數目上限或 I/O 完成線程設定為小於電腦上的處理器數目。 若要判斷有多少處理器存在,請擷取 屬性的值 Environment.ProcessorCount 。 此外,您無法將背景工作線程或 I/O 完成線程數目上限設定為小於對應背景工作線程數目下限或 I/O 完成線程的數目。 若要判斷線程集區大小下限,請呼叫 GetMinThreads 方法。

如果裝載 Common Language Runtime,例如 Internet Information Services (IIS) 或 SQL Server,主機可以限制或防止變更線程集區大小。

變更線程集區中的線程數目上限時,請小心。 雖然您的程式代碼可能會受益,但變更可能會對您使用的程式代碼連結庫造成負面影響。

設定線程集區大小太大可能會導致效能問題。 如果同時執行太多線程,工作切換額外負荷會變成重大因素。

注意

線程集區可能會有線程計數上限, (例如 short.MaxValue,視實作) 而定。 自變數值會限制為上限,因此即使方法傳回 true,實際的線程計數上限可能低於要求。

適用於

另請參閱