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

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b37601-2c06e.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b37601-2c06e.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?