1. Wenn die Warteschlange voll ist, wird der neue Thread, der den Put-Vorgang ausführt, zum Warten in die NotFull-Bedingungswarteschlange hinzugefügt.
2. Die Warteschlange ist nicht voll. Wenn ein Thread den Vorgang zum Entfernen von Warteschlangenelementen ausführt, ist das Entfernen erfolgreich und der Put-Thread wird aktiviert.
Beispiel
public E take() throws InterruptedException { final ReentrantLock lock = this.lock; lock.lockInterruptibly(); try { // 队列长度为0 while (count == 0) // 阻塞 notEmpty.await(); // 如果队列有元素执行删除操作 return dequeue(); } finally { lock.unlock(); } } /** Condition for waiting takes */ private final Condition notEmpty;
Das obige ist der detaillierte Inhalt vonWie ist der Status der Java-Thread-Ausführung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!