165 читали · 2 года назад
Java 502. В чем разница между состояниями WAITING и TIMED_WAITING?
Состояние WAITING и состояние TIMED_WAITING являются состояниями ожидания потока в Java, однако у них есть различия. Когда поток вызывает метод wait(), join() или park(), он переходит в состояние WAITING. В этом состоянии поток ожидает уведомления от другого потока для продолжения своей работы. Например, если поток вызвал метод wait(), он будет ждать, пока другой поток не вызовет метод notify() или notifyAll() на том же самом объекте. С другой стороны, когда поток вызывает метод sleep(), wait(timeout) или join(timeout), он переходит в состояние TIMED_WAITING (ожидание с тайм-аутом)...