DacpThreadpoolData 结构

定义运行时线程池信息的传输缓冲区。

Note

此 API 最初旨在供运行时内部使用。 尽管现在支持第三方使用,但我们建议尽量使用 ICorDebugICorProfiler API。

Syntax

struct DacpThreadpoolData : ZeroInit<DacpThreadpoolData>
{
    LONG cpuUtilization;    
    int NumIdleWorkerThreads;
    int NumWorkingWorkerThreads;
    int NumRetiredWorkerThreads;
    LONG MinLimitTotalWorkerThreads;
    LONG MaxLimitTotalWorkerThreads;

    CLRDATA_ADDRESS FirstUnmanagedWorkRequest;

    CLRDATA_ADDRESS HillClimbingLog;
    int HillClimbingLogFirstIndex;
    int HillClimbingLogSize;

    DWORD NumTimers;

    LONG   NumCPThreads;
    LONG   NumFreeCPThreads;
    LONG   MaxFreeCPThreads; 
    LONG   NumRetiredCPThreads;
    LONG   MaxLimitTotalCPThreads;
    LONG   CurrentLimitTotalCPThreads;
    LONG   MinLimitTotalCPThreads;

    CLRDATA_ADDRESS AsyncTimerCallbackCompletionFPtr;
    
    HRESULT Request(ISOSDacInterface *sos)
    {
        return sos->GetThreadpoolData(this);
    }
};

Members

成员 说明
cpuUtilization 线程池使用的 CPU 使用率值。
NumIdleWorkerThreads 空闲工作线程数。
NumWorkingWorkerThreads 活动工作线程数。
NumRetiredWorkerThreads 已停用的工作线程数。
MinLimitTotalWorkerThreads 最小工作线程总数限制。
MaxLimitTotalWorkerThreads 最大工作线程总数限制。
FirstUnmanagedWorkRequest 第一个非托管工作请求的地址。
HillClimbingLog 爬山日志的地址。
HillClimbingLogFirstIndex 爬山日志中的第一个指数。
HillClimbingLogSize 爬山日志的大小。
NumTimers 计时器数。
NumCPThreads 完成端口线程数。
NumFreeCPThreads 可用完成端口线程数。
MaxFreeCPThreads 可用完成端口线程的最大数目。
NumRetiredCPThreads 已停用的完成端口线程数。
MaxLimitTotalCPThreads 最大完成端口线程总数限制。
CurrentLimitTotalCPThreads 当前总完成端口线程限制。
MinLimitTotalCPThreads 最小完成端口线程总数限制。
AsyncTimerCallbackCompletionFPtr 异步计时器回调完成函数指针的地址。
Request 通过调用 ISOSDacInterface::GetThreadpoolData填充结构。

Remarks

此结构位于运行时内,不会通过任何标头或库文件公开。 若要使用它,请定义上面指定的结构。

要求

平台:请参阅系统要求
页眉: 没有
图书馆: 没有
.NET Framework 版本:自 4.7 起可用

另见