¿Las implementaciones entrelazadas basadas en CompareExchange deben usar SpinWait?

A continuación se muestra una implementación de un método entrelazado basado en Interlocked.CompareExchange. ¿Es aconsejable que este código use un SpinWaitgiro antes de reiterar? public static bool AddIfLessThan(ref int location, int value, int comparison) { int currentValue; do {...