# Class CIM_Thread
extends CIM_EnabledLogicalElement

Threads represent the ability to execute units of a Process or task in parallel. A Process can have many Threads, each of which is weak to the Process.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_ManagedSystemElement
|
+--CIM_LogicalElement
|
+--CIM_EnabledLogicalElement
|
+--CIM_Thread

## Direct Known Subclasses

CIM_UnixThread

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | Threads represent the ability to execute units of a Process or task in parallel. A Process can have many Threads, each of which is weak to the Process.
UMLPackagePath | string | CIM::System::Processing
Version | string | 2.7.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
CreationClassName | string |
Description | string | CreationClassName indicates the name of the class or the subclass used in the creation of an instance. When used with the other key properties of this class, this property allow all instances of this class and its subclasses to be uniquely identified.
Key | boolean | true
MaxLen | uint32 | 256
CSCreationClassName | string |
Description | string | The scoping ComputerSystem's CreationClassName.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_Process.CSCreationClassName
CSName | string |
Description | string | The scoping ComputerSystem's Name.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_Process.CSName
ExecutionState | uint16 |
Description | string | Indicates the current operating condition of the Thread. Values include ready (2), running (3), and blocked (4), among others. The majority of the enumerated values are obvious. However, a few require additional explanation: 7 (Ready but Relinquished Processor) describes that a thread is in the Ready state, but has voluntarily relinquished execution time to other threads. For example, this state may indicate a problem when the relinquishing thread is not handling items on its queues. If these semantics cannot be detected, the thread should report its state as 2 ("Ready"). 8 (Hung) indicates that a thread is not responding.
ValueMap | string | 0, 1, 2, 3, 4, 5, 6, 7, 8
Values | string | Unknown, Other, Ready, Running, Blocked, Suspended Blocked, Suspended Ready, Ready But Relinquished Processor, Hung
Handle | string |
Description | string | A string used to identify the Thread.
Key | boolean | true
MaxLen | uint32 | 256
KernelModeTime | uint64 |
Description | string | Time in kernel mode, in milliseconds. If this information is not available, a value of 0 should be used.
PUnit | string | second * 10^-3
Units | string | MilliSeconds
OSCreationClassName | string |
Description | string | The scoping OperatingSystem's CreationClassName.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_Process.OSCreationClassName
OSName | string |
Description | string | The scoping OperatingSystem's Name.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_Process.OSName
Priority | uint32 |
Description | string | Priority indicates the urgency or importance of execution of a Thread. A Thread may have a different priority than its owning Process. If this information is not available for a Thread, a value of 0 should be used.
ProcessCreationClassName | string |
Description | string | The scoping Process' CreationClassName.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_Process.CreationClassName
ProcessHandle | string |
Description | string | The scoping Process' Handle.
Key | boolean | true
MaxLen | uint32 | 256
Propagated | string | CIM_Process.Handle
UserModeTime | uint64 |
Description | string | Time in user mode, in milliseconds. If this information is not available, a value of 0 should be used.
PUnit | string | second * 10^-3
Units | string | MilliSeconds

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
CommunicationStatus | uint16 | CIM_ManagedSystemElement
Description | string | CIM_ManagedElement
DetailedStatus | uint16 | CIM_ManagedSystemElement
ElementName | string | CIM_ManagedElement
EnabledDefault | uint16 | CIM_EnabledLogicalElement
EnabledState | uint16 | CIM_EnabledLogicalElement
HealthState | uint16 | CIM_ManagedSystemElement
InstallDate | datetime | CIM_ManagedSystemElement
InstanceID | string | CIM_ManagedElement
Name | string | CIM_ManagedSystemElement
OperatingStatus | uint16 | CIM_ManagedSystemElement
OtherEnabledState | string | CIM_EnabledLogicalElement
PrimaryStatus | uint16 | CIM_ManagedSystemElement
RequestedState | uint16 | CIM_EnabledLogicalElement
Status | string | CIM_ManagedSystemElement
TimeOfLastStateChange | datetime | CIM_EnabledLogicalElement
TransitioningToState | uint16 | CIM_EnabledLogicalElement
AvailableRequestedStates | uint16[] | CIM_EnabledLogicalElement
OperationalStatus | uint16[] | CIM_ManagedSystemElement
StatusDescriptions | string[] | CIM_ManagedSystemElement

## Class Methods

### Inherited Class Methods

Name | Return Type | Class Origin
--- | --- | ---
RequestStateChange | uint32 | CIM_EnabledLogicalElement