У меня есть следующая инструкция Lock:
private readonly object ownerLock_ = new object();
lock (ownerLock_)
{
}
Должен ли я использовать volatile ключевое слово для моей переменной блокировки?
private readonly volatile object ownerLock_ = new object();
В MSDN я видел, что он обычно используется для поля, к которому обращаются без блокировки, поэтому, если я использую Lock, мне не нужно использовать volatile?
От MSDN:
Модификатор volatile обычно используется для поля, к которому осуществляется доступ несколько потоков без использования оператора блокировки для сериализации доступа.