예제 #1
0
파일: Volatile.cs 프로젝트: relaxar/.net
 public static void Write(ref float location, float value)
 {
     //
     // The VM will replace this with a more efficient implementation.
     //
     Interlocked.MemoryBarrier();
     location = value;
 }
예제 #2
0
파일: Volatile.cs 프로젝트: relaxar/.net
 public static void Write <T>(ref T location, T value) where T : class
 {
     //
     // The VM will replace this with a more efficient implementation.
     //
     Interlocked.MemoryBarrier();
     location = value;
 }
예제 #3
0
파일: Volatile.cs 프로젝트: relaxar/.net
        public static int Read(ref int location)
        {
            //
            // The VM will replace this with a more efficient implementation.
            //
            var value = location;

            Interlocked.MemoryBarrier();
            return(value);
        }
예제 #4
0
파일: Volatile.cs 프로젝트: relaxar/.net
        public static T Read <T>(ref T location) where T : class
        {
            //
            // The VM will replace this with a more efficient implementation.
            //
            var value = location;

            Interlocked.MemoryBarrier();
            return(value);
        }
예제 #5
0
 public static void MemoryBarrier() => Interlocked.MemoryBarrier();