thread de espera até que uma condição tenha ocorrido

Eu quero esperar um thread de 2 thread que executado em um simulador simultâneo até que uma condição tenha ocorrido, pode ser a condição ocorreu após 1000 ou mais ciclos de execução de um programa no simulador, após a condição ocorreu o segmento esperado executado novamente, como eu posso fazer isso?

questionAnswers(4)

yourAnswerToTheQuestion