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 периоду времени, затраченного приложением на выполнение кода в привилегированном режиме в системном ядре.
Режим пользователя ограничивает приложение двумя важными способами. Во-первых, приложение не может напрямую обращаться к периферийным устройствам, но вместо этого необходимо вызвать ядро операционной системы, чтобы получить или задать периферийные данные. Таким образом, операционная система может гарантировать, что одно приложение не уничтожает периферийные данные, необходимые другому. Во-вторых, приложение не может считывать или изменять данные, которые поддерживает сама операционная система. Это ограничение предотвращает случайное или намеренное повреждение ядра приложениями. Если приложению требуется операционная система для выполнения операции, она вызывает одну из подпрограмм системы. Многие из этих переходов в привилегированный режим, выполнение операции и плавное возвращение в пользовательский режим.