/guava/guava/src/com/google/common/util/concurrent/InterruptibleTask.java
Thread.interrupted( ) ;
Thread.yield ( ) ;
if (spinCount > MAX_BUSY_WAIT_SPINS) { if (state == PARKED || compareAndSet(state, PARKED)) { restoreInterruptedBit = Thread.interrupted() || restoreInterruptedBit; LockSupport.park(blocker); } } else { <extra_id_0> } state = get(); } if (restoreInterruptedBit) { currentThread.interrupt(); }