Why does Java ArrayBlockingQueue use two Condition, with the same lock? why don't they use the same Condition?

Why does Java ArrayBlockingQueue use two Condition, with the same lock? why don"t they use the same Condition

Dec.07,2021

/ * Condition for waiting takes /

private final Condition notEmpty;

/ * Condition for waiting puts /

private final Condition notFull;

two condition have different functions, one for control fetch and one for control playback

Menu