estou com uma Duvida sobre sincronização e a classe Condition, por exemplo com eu tenho um variavel do tipo
Condition canRead = accessLock.newCondition();
e em determinada parte do codigo eu tenho
canRead.wait();
a tread que chamou o metodo que contem o trecho de codigo acima que é marcada para ficar esperando não é mesmo?
e quando no metodo que contem o codigo acima eu tenho uma chamada do tipo
canRead.signal();
a thread que chamou o metodo contendo o codigo acima é sinalizada a sair da espera, é assim mesmo?
canRead.wait() opera sobre a thread atual que chamou o metodo e canRead.signal() para todas as thread que já chamaram o metodo e foram marcadas para ficar em espera, é isso?