volatile как механизм синхронизации

Допустим, у меня есть класс Foo, и у него есть статическая переменная-член с именем Count (тип целочисленный). Эта переменная использовалась в многопоточном приложении, и я использовал механизм синхронизации блокировки, прежде чем выполнять какие-либо операции чтения / записи в эту переменную. Когда я читаю эту статью Volatile , у меня складывается впечатление, что я могу снять все эти блокировки вокруг этой переменной и просто использовать ключевое слово volatile при объявлении этой переменной. Это должно позаботиться обо всем, что связано с синхронизацией. Это правильно? Каковы плюсы и минусы этого подхода?

5
задан Silverlight Student 10 May 2011 в 16:39
поделиться