Monitor Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет механизм для синхронизации доступа к объектам.
public ref class Monitor abstract sealed
public ref class Monitor sealed
public static class Monitor
public sealed class Monitor
[System.Runtime.InteropServices.ComVisible(true)]
public static class Monitor
type Monitor = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Monitor = class
Public Class Monitor
Public NotInheritable Class Monitor
- Наследование
-
Monitor
- Атрибуты
Комментарии
Дополнительные сведения об этом API см. в разделе Дополнительные примечания API для Monitor.
Свойства
LockContentionCount |
Возвращает значение, указывающее, сколько раз возникало состязание при попытке установить блокировку монитора. |
Методы
Enter(Object) |
Получает эксклюзивную блокировку указанного объекта. |
Enter(Object, Boolean) |
Получает монопольную блокировку указанного объекта и единым блоком задает значение, указывающее, была ли выполнена блокировка. |
Exit(Object) |
Освобождает эксклюзивную блокировку указанного объекта. |
IsEntered(Object) |
Определяет, содержит ли текущий поток блокировку указанного объекта. |
Pulse(Object) |
Уведомляет поток в очереди готовности об изменении состояния объекта с блокировкой. |
PulseAll(Object) |
Уведомляет все ожидающие потоки об изменении состояния объекта. |
TryEnter(Object) |
Пытается получить эксклюзивную блокировку указанного объекта. |
TryEnter(Object, Boolean) |
Пытается получить монопольную блокировку указанного объекта и единым блоком задает значение, указывающее, была ли выполнена блокировка. |
TryEnter(Object, Int32) |
Пытается получить эксклюзивную блокировку указанного объекта на заданное количество миллисекунд. |
TryEnter(Object, Int32, Boolean) |
В течение заданного количества миллисекунд пытается получить монопольную блокировку указанного объекта и единым блоком задает значение, указывающее, была ли выполнена блокировка. |
TryEnter(Object, TimeSpan) |
Пытается получить эксклюзивную блокировку указанного объекта в течение заданного количества времени. |
TryEnter(Object, TimeSpan, Boolean) |
В течение заданного периода времени пытается получить монопольную блокировку указанного объекта и единым блоком задает значение, указывающее, была ли выполнена блокировка. |
Wait(Object) |
Освобождает блокировку объекта и блокирует текущий поток до тех пор, пока тот не получит блокировку снова. |
Wait(Object, Int32) |
Освобождает блокировку объекта и блокирует текущий поток до тех пор, пока тот не получит блокировку снова. Если указанные временные интервалы истекают, поток встает в очередь готовности. |
Wait(Object, Int32, Boolean) |
Освобождает блокировку объекта и блокирует текущий поток до тех пор, пока тот не получит блокировку снова. Если указанные временные интервалы истекают, поток встает в очередь готовности. Этот метод также указывает на выход из области синхронизации для контекста (если она находится в синхронизированном контексте) до ожидания и ее повторное получение впоследствии. |
Wait(Object, TimeSpan) |
Освобождает блокировку объекта и блокирует текущий поток до тех пор, пока тот не получит блокировку снова. Если указанные временные интервалы истекают, поток встает в очередь готовности. |
Wait(Object, TimeSpan, Boolean) |
Освобождает блокировку объекта и блокирует текущий поток до тех пор, пока тот не получит блокировку снова. Если указанные временные интервалы истекают, поток встает в очередь готовности. Дополнительно выходит из синхронизированного домена для синхронизации контекста до ожидания и получает домен впоследствии. |
Применяется к
Потокобезопасность
Данный тип потокобезопасен.