ProcessThread.UserProcessorTime ProcessThread.UserProcessorTime ProcessThread.UserProcessorTime ProcessThread.UserProcessorTime Property

Definition

Gets the amount of time that the associated thread has spent running code inside the application.

public:
 property TimeSpan UserProcessorTime { TimeSpan get(); };
public TimeSpan UserProcessorTime { get; }
member this.UserProcessorTime : TimeSpan
Public ReadOnly Property UserProcessorTime As TimeSpan

Property Value

A TimeSpan indicating the amount of time that the thread has spent running code inside the application, as opposed to inside the operating system core.

Exceptions

The thread time could not be retrieved.

Remarks

Windows NT uses several different protection mechanisms, and at the root of them all is the distinction between user mode and privileged mode. UserProcessorTime corresponds to the amount of time that the application has spent running in user mode, outside the operating system core. The PrivilegedProcessorTime corresponds to the amount of time that the application has spent running code in privileged mode, inside the system core.

User mode restricts the application in two important ways. First, the application cannot directly access the peripherals, but instead must call the operating system core to get or set peripheral data. The operating system can thus ensure that one application does not destroy peripheral data that is needed by another. Second, the application cannot read or change data that the operating system itself maintains. This restriction prevents applications from either inadvertently or intentionally corrupting the core. If the application needs the operating system to perform an operation, it calls one of the system's routines. Many of these transition into privileged mode, perform the operation, and smoothly return to user mode.

Applies to

See also