Поделиться через


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)

Освобождает блокировку объекта и блокирует текущий поток до тех пор, пока тот не получит блокировку снова. Если указанные временные интервалы истекают, поток встает в очередь готовности. Дополнительно выходит из синхронизированного домена для синхронизации контекста до ожидания и получает домен впоследствии.

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

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

Данный тип потокобезопасен.

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