То, о чем вы просите, может быть достигнуто только логикой вашей функции потока. Библиотека потоков / операционная система не знает о вашей логике и не может знать, куда вы хотите, чтобы она прошла повторная инициализация .
Также обратите внимание, что хотя вы можете добиться чего-то подобного, отменив и запустив поток, отмена потока довольно часто опасна (вы можете утечь ресурсы), если это возможно (поток должен достичь точки отмены), и ее следует избегать в большинстве случаев. Итак, вы вернулись на круги своя: внедрите в функцию логику для обнаружения события и перезапустите с любым определением запуска, которое вы хотите использовать.