тогда тоже самое, но только несколько иначе. Раз у Вас переменные меняются от Вашего желания, есть два варианта:
1) Вместо while в исходной функции (та, что в начале прошл стр) меняем на if, и запускаем каждый раз startThread там, где нужно определить.
2) Там, где нужно заново определить, снова делаем значения a, b, с, на 0.
Иными словами, включаем проверку тогда, когда нам нужно. Иначе сложнее придется, я сейчас не могу сразу придумать, как зациклить цикл