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?