Se chamo a Thread A 3 vezes e elas chamam o metodo wait() e o mesmo acontecendo com B. Como fica a fila de espera de Threads. é gerada uma fila p cada thread, tipo todas as threads A, ficam numa fila e todas b ficam em outra fila, ou ficam todas A e B juntas numa mesma fila???
Isso ta meio vago. Como assim dar um wait()? O que eh uma “fila” de espera?
Nao existe esse conceito de fila… pense num pool de threads candidatas a obterem o controle do processador (ou seja, estao no estado “pronto pra rodar”, digamos assim). Quando uma thread vai pro pool de threads em estado “pronto”, ela fica aguardando ate que o processador de a ela sua chance de rodar. Nao ha ordem especifica pra isso.
Se voce der um wait() num objeto, a thread bloqueia ate que alguem chame um notify() ou notifyAll() nesse cara - quando entao ela vai pro estado “pronto”, tornando-se candidata a ganhar o processador.