reactor-core/src/main/java/reactor/util/concurrent/WaitStrategy.java
public static WaitStrategy phasedOff(long spinTimeout, long yieldTimeout, TimeUnit units, WaitStrategy delegate) {
        return new PhasedOff(spinTimeout, yieldTimeout, units, delegate);
    }
public static WaitStrategy phasedOff(long spinTimeout, long yieldTimeout, TimeUnit units, WaitStrategy delegate) {
        return new PhasedOff(spinTimeout, yieldTimeout, units, delegate);
    }
<p>Phased wait strategy for waiting consumers on a barrier.</p>
<p>
<p>This strategy can be used when throughput and low-latency are not as important as CPU resource. Spins, then
yields, then waits using the configured fallback WaitStrategy.</p>

@param spinTimeout the spin timeout
@param yieldTimeout the yield timeout
@param units the time unit
@param delegate the target wait strategy to fallback on
@return the wait strategy