Stop, notify e notifyAll

Ola Galera!

Gostaria de saber o que cada um desses métodos faz e quando usa-los.

Desde já agradeço

stop:
O que faz? Aborta a execução de uma thread.
Quando usa-lo? Nunca. O método é deprecated, pode deixar o seu sistema instável e pode não funcionar em todos os locais que a VM roda.

notify:
O que faz? Informa a próxima thread que está dormindo, esperando por um bloco sincronizado, dentro de um wait(), de que ele pode acordar e ver se pode entrar nesse bloco sincronizado.

Quando devo usa-lo? Quando você tiver blocos como esse, e a condição para entrar no bloco tiver chances de ter sido satisfeita. O notify() acorda somente a primeira thread da fila, o que pode ser problemático, caso existem mais de duas threads. Se essa thread, por algum motivo, dormir, pode ser que a outra, que teria chance de processar não o faça. Por isso, geralmente, recomenda-se usar o notifyAll() no lugar.

notifyAll:
O que faz? Igual ao notify(), mas notifica todas as threads da fila do bloco sincronizado. Todas elas tentarão processar, mas apenas 1 poderá entrar no bloco. As demais voltam a dormir.
Quando devo usa-lo? Em todas as situações que você pode usar o notify(), especialmente quando você tiver mais do que duas threads.