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 для монитора.
Свойства
| Имя | Описание |
|---|---|
| LockContentionCount |
Получает количество раз, когда при попытке взять блокировку монитора. |
Методы
| Имя | Описание |
|---|---|
| Enter(Object, Boolean) |
Получает монопольную блокировку для указанного объекта и атомарно задает значение, указывающее, была ли взята блокировка. |
| Enter(Object) |
Получает монопольную блокировку для указанного объекта. |
| Exit(Object) |
Освобождает монопольную блокировку указанного объекта. |
| IsEntered(Object) |
Определяет, содержит ли текущий поток блокировку указанного объекта. |
| Pulse(Object) |
Уведомляет поток в очереди ожидания изменения состояния заблокированного объекта. |
| PulseAll(Object) |
Уведомляет все потоки ожидания изменения состояния объекта. |
| TryEnter(Object, Boolean) |
Пытается получить монопольную блокировку указанного объекта и атомарно задает значение, указывающее, была ли выполнена блокировка. |
| TryEnter(Object, Int32, Boolean) |
Пытается получить монопольную блокировку для указанного числа миллисекунд, а атомарно задает значение, указывающее, была ли взята блокировка. |
| TryEnter(Object, Int32) |
Пытается получить монопольную блокировку для указанного числа миллисекунда. |
| TryEnter(Object, TimeSpan, Boolean) |
Пытается получить монопольную блокировку указанного объекта в течение указанного времени и атомарно задает значение, указывающее, была ли выполнена блокировка. |
| TryEnter(Object, TimeSpan) |
Пытается получить монопольную блокировку указанного объекта в течение указанного периода времени. |
| TryEnter(Object) |
Пытается получить монопольную блокировку указанного объекта. |
| Wait(Object, Int32, Boolean) |
Освобождает блокировку объекта и блокирует текущий поток, пока он не будет повторно запрашивать блокировку. Если указанный интервал ожидания истекает, поток вводит готовую очередь. Этот метод также указывает, выходит ли домен синхронизации для контекста (если в синхронизированном контексте) завершается до ожидания и повторного указания. |
| Wait(Object, Int32) |
Освобождает блокировку объекта и блокирует текущий поток, пока он не будет повторно запрашивать блокировку. Если указанный интервал ожидания истекает, поток вводит готовую очередь. |
| Wait(Object, TimeSpan, Boolean) |
Освобождает блокировку объекта и блокирует текущий поток, пока он не будет повторно запрашивать блокировку. Если указанный интервал ожидания истекает, поток вводит готовую очередь. При необходимости завершает работу домена синхронизации для синхронизированного контекста перед ожиданием и повторно запрашивает домен. |
| Wait(Object, TimeSpan) |
Освобождает блокировку объекта и блокирует текущий поток, пока он не будет повторно запрашивать блокировку. Если указанный интервал ожидания истекает, поток вводит готовую очередь. |
| Wait(Object) |
Освобождает блокировку объекта и блокирует текущий поток, пока он не будет повторно запрашивать блокировку. |
Применяется к
Потокобезопасность
Этот тип является потокобезопасной.