System.Threading.TThreadPoolStats
Delphi
TThreadPoolStats = record
private
FWorkerThreadCount: Integer;
FMinLimitWorkerThreadCount: Integer;
FMaxLimitWorkerThreadCount: Integer;
FIdleWorkerThreadCount: Integer;
FQueuedRequestCount: Integer;
FRetiredWorkerThreadCount: Integer;
FAverageCPUUsage: Integer;
FCurrentCPUUsage: Integer;
FThreadSuspended: Integer;
FLastSuspendTick: Cardinal;
FLastThreadCreationTick: Cardinal;
FLastQueuedRequestCount: Integer;
class function GetThreadPoolStats(const Pool: TThreadPool): TThreadPoolStats; static;
class function GetCurrentThreadPoolStats: TThreadPoolStats; static; inline;
class function GetDefaultThreadPoolStats: TThreadPoolStats; static; inline;
public
property WorkerThreadCount: Integer read FWorkerThreadCount;
property MinLimitWorkerThreadCount: Integer read FMinLimitWorkerThreadCount;
property MaxLimitWorkerThreadCount: Integer read FMaxLimitWorkerThreadCount;
property IdleWorkerThreadCount: Integer read FIdleWorkerThreadCount;
property QueuedRequestCount: Integer read FQueuedRequestCount;
property RetiredWorkerThreadCount: Integer read FRetiredWorkerThreadCount;
property AverageCPUUsage: Integer read FAverageCPUUsage;
property CurrentCPUUsage: Integer read FCurrentCPUUsage;
property ThreadSuspended: Integer read FThreadSuspended;
property LastSuspendTick: Cardinal read FLastSuspendTick;
property LastThreadCreationTick: Cardinal read FLastThreadCreationTick;
property LastQueuedRequestCount: Integer read FLastQueuedRequestCount;
class property Current: TThreadPoolStats read GetCurrentThreadPoolStats;
class property Default: TThreadPoolStats read GetDefaultThreadPoolStats;
end;
C++
struct DECLSPEC_DRECORD TThreadPoolStats
{
private:
int FWorkerThreadCount;
int FMinLimitWorkerThreadCount;
int FMaxLimitWorkerThreadCount;
int FIdleWorkerThreadCount;
int FQueuedRequestCount;
int FRetiredWorkerThreadCount;
int FAverageCPUUsage;
int FCurrentCPUUsage;
int FThreadSuspended;
unsigned FLastSuspendTick;
unsigned FLastThreadCreationTick;
int FLastQueuedRequestCount;
static TThreadPoolStats __fastcall GetThreadPoolStats(TThreadPool* const Pool);
static TThreadPoolStats __fastcall GetCurrentThreadPoolStats();
static TThreadPoolStats __fastcall GetDefaultThreadPoolStats();
public:
__property int WorkerThreadCount = {read=FWorkerThreadCount};
__property int MinLimitWorkerThreadCount = {read=FMinLimitWorkerThreadCount};
__property int MaxLimitWorkerThreadCount = {read=FMaxLimitWorkerThreadCount};
__property int IdleWorkerThreadCount = {read=FIdleWorkerThreadCount};
__property int QueuedRequestCount = {read=FQueuedRequestCount};
__property int RetiredWorkerThreadCount = {read=FRetiredWorkerThreadCount};
__property int AverageCPUUsage = {read=FAverageCPUUsage};
__property int CurrentCPUUsage = {read=FCurrentCPUUsage};
__property int ThreadSuspended = {read=FThreadSuspended};
__property unsigned LastSuspendTick = {read=FLastSuspendTick};
__property unsigned LastThreadCreationTick = {read=FLastThreadCreationTick};
__property int LastQueuedRequestCount = {read=FLastQueuedRequestCount};
/* static */ __property TThreadPoolStats Current = {read=GetCurrentThreadPoolStats};
/* static */ __property TThreadPoolStats Default = {read=GetDefaultThreadPoolStats};
};
Properties
Type | Visibility | Source | Unit | Parent |
---|---|---|---|---|
record struct |
public | System.Threading.pas System.Threading.hpp |
System.Threading | System.Threading |
Description
This record is used to grab a "snapshot" of a threadpool's internal state.
This is useful in peering into the inner workings of a threadpool for diagnostic purposes. This snapshot may not be strictly accurate because the accessed threadpool continues to run.
Do not depend on this structure for anything other than simply hinting at the internal state.