有关新 GetMinThreads 方法和新的 SetMinThreads 方法,在.net Framework 1.1 ThreadPool 类的信息

文章翻译 文章翻译
文章编号: 827419 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

简介

在 Microsoft.net Framework 1.1 添加后面的两种新方法:
  • SetMinThreads
  • GetMinThreads
这两种新方法适用于 ThreadPool 类。SetMinThreads 方法用于增加空闲辅助线程的数目或 ThreadPool 类维护的 I/O 完成线程数。GetMinThreads 方法用于获取当前的设置。

更多信息

默认状态下,ThreadPool 类为维护的空闲线程的最小数量是如下所示:
  • 每个计算机处理器的的一个线程
  • 一个线程中的每个工作线程类别
  • 对于每个 I/O 类别的一个线程
如果某一特定应用程序突然需要更多的线程,分配的线程的方式可能会导致瓶颈。若要不必此问题,请使用 SetMinThreads 方法提高空闲辅助线程的数目和 ThreadPool 类维护的 I/O 完成线程数。使用 GetMinThreads 方法获取当前的最小设置。

SetMinThreads 方法

  • 下面的代码示例提供了 SetMinThreads 方法
     
    public static bool SetMinThreads(int workerThreads, int completionPortThreads)
    {
     return SetMinThreadsNative(workerThreads, completionPortThreads);
    }
    的定义
  • 您可以添加 SetMinThreads 方法增加的空闲辅助线程,并增加维护 ThreadPool 类的 I/O 完成线程数。
  • SetMinThreads 方法设置而不考虑的计算机上的处理器数的空闲线程的总数。
  • 如果指定为负数或有较大的数字比您可以从 ThreadPool 类的 GetMaxThreads 方法获得的活动 ThreadPool 类线程的上限 SetMinThreads 方法将返回 false,但并不更改最小的值。

GetMinThreads 方法

  • 下面的代码示例提供到的 GetMinThreads 方法定义
    public static void GetMinThreads(out int workerThreads, out int completionPortThreads)
    {
     GetMinThreadsNative(out workerThreads, out completionPortThreads);
    }
  • 您可以将 GetMinThreads 方法添加到 ThreadPool 类来获取空闲辅助线程的数目和维护 ThreadPool 类的 I/O 完成线程数.net 1.1 的一部分。
  • GetMinThreads 方法获取无论具有一台计算机的处理器数目的空闲线程的总数。

使用 SetMinThreads 方法和 GetMinThreads 方法的代码示例

在下面的代码示例最小数目的空闲辅助线程设置为 4。保留原始值的最小空闲的 I/O 完成线程数。

Microsoft Visual.net Basic
Dim minWorker, minIOC As Integer
        ' Get the current settings.
        ThreadPool.GetMinThreads(minWorker, minIOC)
        ' Change the minimum number of Worker threads to 4 but keep
        ' the old setting for the minimum I/O completion threads.
        If ThreadPool.SetMinThreads(4, minIOC) Then
            ' The minimum number of threads is set successfully.
        Else
            ' The minimum number of threads is not changed.
        End If
Microsoft Visual C#.net
int minWorker, minIOC;
        // Get the current settings.
        ThreadPool.GetMinThreads(out minWorker, out minIOC);
        // Change the minimum number of Worker threads to 4 but keep
        // the old setting for minimum I/O completion threads.
        if (ThreadPool.SetMinThreads(4, minIOC))
        {
            // The minimum number of threads is set successfully.
        }
        else
        {
            // The minimum number of threads is not changed.
        }

参考

有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
810259FIX: SetMinThreads 和 GetMinThreads API 添加到公共语言运行库 ThreadPool 类
315460如何使用 Visual C#.net 提交到线程池的工作项

属性

文章编号: 827419 - 最后修改: 2004年11月12日 - 修订: 1.3
这篇文章中的信息适用于:
  • Microsoft Visual C# .NET 2003 标准版
  • Microsoft Visual Basic .NET 2003 标准版
  • Microsoft .NET Framework 1.1
关键字:?
kbmt kbinfo kbhowto kbthread kbperformance kbcommandline KB827419 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 827419
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com