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)

Освобождает блокировку объекта и блокирует текущий поток, пока он не будет повторно запрашивать блокировку.

Применяется к

Потокобезопасность

Этот тип является потокобезопасной.

См. также раздел