No, the thread will still be in RUNNABLE state. Please note that RUNNABLE means that the thread is available to start and can be started at the moment or wait for its queue. Thread.STATE does not distinguish between a thread that is currently executing and a thread that is ready to start, they are both RUNNABLE .
The thread will only enter WAITING when either wait() , join() , or LockSupport.park() called.
By calling the Thread.yield() method, the current current thread voluntarily abandons its piece of processor time. This thread then transitions from the ready state.
krock
source share