У меня есть следующая инструкция Lock:
private readonly object ownerLock_ = new object();
lock (ownerLock_)
{
}
Должен ли я использовать ключевое слово volatile для моей переменной блокировки?
private readonly volatile object ownerLock_ = new object();
В MSDN я видел, что он обычно используется для поля, доступ к которому осуществляется без блокировки, поэтому, если я использую Lock, мне не нужно использовать volatile?
Из MSDN:
The volatile modifier is usually used for a field that is accessed by multiple threads without using the lock statement to serialize access.