ProcessThread.UserProcessorTime Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает количество времени, которое поток потратил на выполнение кода внутри приложения.
public:
property TimeSpan UserProcessorTime { TimeSpan get(); };
public TimeSpan UserProcessorTime { get; }
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public TimeSpan UserProcessorTime { get; }
member this.UserProcessorTime : TimeSpan
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.UserProcessorTime : TimeSpan
Public ReadOnly Property UserProcessorTime As TimeSpan
Значение свойства
Объект TimeSpan, указывающий количество времени, которое поток потратил на выполнение кода внутри приложения, в отличие от выполнения в ядре операционной системы.
- Атрибуты
Исключения
Не удалось извлечь затраченное потоком время.
Данный процесс выполняется на удаленном компьютере.
Комментарии
Windows NT использует несколько различных механизмов защиты, и в корне всех из них заключается различие между пользовательским и привилегированным режимами. UserProcessorTime соответствует количеству времени, затраченного приложением на выполнение в пользовательском режиме за пределами ядра операционной системы. Соответствует PrivilegedProcessorTime количеству времени, затраченного приложением на выполнение кода в привилегированном режиме внутри ядра системы.
Пользовательский режим ограничивает приложение двумя важными способами. Во-первых, приложение не может напрямую получить доступ к периферийным устройствам, но вместо этого должно вызвать ядро операционной системы, чтобы получить или задать данные периферийных устройств. Таким образом, операционная система может гарантировать, что одно приложение не уничтожает периферийные данные, необходимые другому. Во-вторых, приложение не может считывать или изменять данные, которые поддерживает сама операционная система. Это ограничение не позволяет приложениям непреднамеренно или намеренно повредить ядро. Если приложению требуется операционная система для выполнения операции, оно вызывает одну из процедур системы. Многие из них переходют в привилегированный режим, выполняют операцию и плавно возвращаются в пользовательский режим.