ProcessModelSection.MaxWorkerThreads 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个值,该值指示 CLR 线程池中每个 CPU 的最大辅助线程数。
public:
property int MaxWorkerThreads { int get(); void set(int value); };
[System.Configuration.ConfigurationProperty("maxWorkerThreads", DefaultValue=20)]
[System.Configuration.IntegerValidator(MaxValue=2147483646, MinValue=1)]
public int MaxWorkerThreads { get; set; }
[<System.Configuration.ConfigurationProperty("maxWorkerThreads", DefaultValue=20)>]
[<System.Configuration.IntegerValidator(MaxValue=2147483646, MinValue=1)>]
member this.MaxWorkerThreads : int with get, set
Public Property MaxWorkerThreads As Integer
属性值
最大线程数。 默认值为 20。
- 属性
示例
下面的代码示例演示如何访问 MaxWorkerThreads 属性。
// Get the current MaxWorkerThreads property value.
int maxWorkerThreads =
processModelSection.MaxWorkerThreads;
// Set the MaxWorkerThreads property to 128.
processModelSection.MaxWorkerThreads = 128;
' Get the current MaxWorkerThreads property value.
Dim maxWorkerThreads As Integer = _
processModelSection.MaxWorkerThreads
' Set the MaxWorkerThreads property to 128.
processModelSection.MaxWorkerThreads = 128
注解
该值 MaxWorkerThreads 必须等于或大于 MinFreeThreads 配置部分中的设置 httpRuntime
。
可以通过分别使用 MaxWorkerThreads 属性和属性 MaxIOThreads 设置工作线程数和 I/O 线程数来控制 CPU 利用率。
两种类型的线程之间的区别在于后者绑定到 I/O 对象,例如流或管道,而前者是传统的不受限制的线程。 对于Internet Information Services (IIS) 版本 6.0 及更高版本,ASP.NET 处理工作线程上的请求。 这是因为 ASP.NET 在 IIS 中集成。
这些线程是从属于应用程序的进程范围的 CLR 线程池获取的。
备注
通常,允许的线程的默认值足以保持 CPU 使用率高。 如果出于某种原因,应用程序速度缓慢,可能正在等待外部资源,则可以尝试将线程数增加到小于 100 的值。