namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter20.Listing20_06
{
    using System.Threading;

    class SynchronizationUsingInterlocked
    {
        private static object _Data;

        // Inicjowanie danych, jeśli jeszcze nie przypisano do nich wartości.
        static void Initialize(object newValue)
        {
            // Jeśli pole _Data ma wartość null, należy przypisać do niego newValue.
            Interlocked.CompareExchange(
                ref _Data, newValue, null);
        }

        // ...
    }
}
