T location1 = v1;
T value = v2;
T res = Interlocked.CompareExchange(ref location1, value, conparand)
=
if(location1 == conparand){ res = location1;
location1 = value;
}
else{ res = location1;