Was this page helpful?
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

ProcessThread.UserProcessorTime Property


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

Namespace:   System.Diagnostics
Assembly:  System (in System.dll)

public TimeSpan UserProcessorTime { get; }

Property Value

Type: System.TimeSpan

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.

Exception Condition

The thread time could not be retrieved.


The platform is Windows 98 or Windows Millennium Edition.


The process is on a remote computer.

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.

.NET Framework
Available since 1.1
Return to top
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2015 Microsoft