LockSupport.park

Disables the current thread for thread scheduling purposes unless the permit is available.

<p>If the permit is available then it is consumed and the call returns immediately; otherwise the current thread becomes disabled for thread scheduling purposes and lies dormant until one of three things happens:

<ul>

<li>Some other thread invokes {@link #unpark unpark} with the current thread as the target; or

<li>Some other thread {@linkplain Thread#interrupt interrupts} the current thread; or

<li>The call spuriously (that is, for no reason) returns. </ul>

<p>This method does <em>not</em> report which of these caused the method to return. Callers should re-check the conditions which caused the thread to park in the first place. Callers may also determine, for example, the interrupt status of the thread upon return.

Meta