¿Cómo detener hilos en Java?

He creado un programa java con GUI y quiero una función de botón de parada en la que cuando un usuario hace clic en el botón de parada, el programa debe detenerse.

En mi programa, el hilo principal inicia otros 10 hilos y quiero que cada vez que se haga clic en el botón de parada, todos los 10 hilos se detengan antes del hilo principal.

En segundo lugar, también quiero que cada vez que se detenga un subproceso de esos 10 subprocesos, primero debe cerrar todos los recursos que había abierto antes, como la conexión a una base de datos, etc.

He implementado el código como fue respondido por ........

Ahora hay un problema.

Mi clase de hilo es así:

public class ParserThread implements Runnable {
    private volatile boolean stopped = false;

    public void stopTheThread() {
        stopped = true;
    }
    :
    :
}

Y debajo está el hilo principal que comienza con 10 hilos desde la función start ()

public class Main() {
    Thread [] threads;

    public void start() {
        for(int i = 0; i < 10; i++) {
            threads[i] = new Thread(new ParserThread());
        }       
    }

    public void stop() {
        // code to stop all the threads
    }
}

Ahora quiero llamar al método de detención de ParserThread para establecer "detenido = verdadero" para detener el hilo. Quiero que esto se haga para todos los 10 hilos.

¿Cómo puedo llamar a ese método de parada? Quiero que se haga en el método stopAllThreads () de la clase Main.

Respuestas a la pregunta(3)

Su respuesta a la pregunta