Есть ли смысл использовать volatile в.NET?
Я слышал, ребята из Microsoft исправили эту проблему с полями init, так как.NET 4.0 и volatile ключевое слово больше не нужны. Безопасно ли оставлять поле энергонезависимым, скажем, для создания объекта в многопоточном контексте? Лично я использую Interlocked.CompareExchange() с каждым запросом поля.