Nie ma bezpiecznego sposobu zatrzymania wykonywanego wątku, chyba że jest to współpraca; na przykład regularnie sprawdza flagę "przerwaną".
@BobbyShaftoe sugeruje w komentarzu:
Można wykonać tę funkcję w osobnym wątku, a następnie przerwać wątek po pewnym okresie czasu.
To myląca i niebezpieczna rada. Jedynym sposobem na "przerwanie" wątku jest użycie wycofanej metody Thread.stop()
. Jeśli spojrzysz na javadoc dla tej metody, zobaczysz, że jest to zasadniczo niebezpieczna metoda, która może mieć niepożądane i nieprzewidywalne skutki uboczne.
Należy również zauważyć, że rozwiązanie @ tonio nie zatrzymuje wykonywania funkcji. Po prostu przestaje czekać na zakończenie funkcji. Funkcja może kontynuować działanie bezterminowo, przeżuwając zasoby, by nie osiągnąć dobrego efektu.
Można wykonać tę funkcję w osobnym wątku, a następnie przerwać wątek po pewnym okresie czasu. – BobbyShaftoe
Przepraszam, że nie używałem wątku w programie, czy istnieje jakaś inna możliwość? –