Detener / destruir un hilo

Tengo un servicio que lanza un subproceso y un Runnable como tal.

t = new Thread(new Runnable() {
    public void run() {
        doSomething();
    }
});

t.start();

La razón del hilo es realizar una tarea asíncronahacer algo(. Por ahora no nos preocupemos por la otra clase AsyncTask. Lo he intentado y no funciona para mi caso. Editar: no puedo usar AsyncTask porque está destinado solo al hilo de la interfaz de usuario. Este código tiene que operar dentro de un Servicio, así que no, no AsyncTask:

hacer algo( contiene algunas bibliotecas externas, por lo que el problema que tengo es que potencialmente se puede colgar en uno de los comandos, sin devolver ningún valor (por lo tanto, no se puede hacer ninguna comprobación de errores)

ara evitar esto, querré, en algún momento, destruir el Servicio.

stopService(new Intent("net.MyService.intent));

Esto funciona bien y se verifica fácilmente en el teléfono. Sin embargo, el subproceso creado anteriormente continuará ejecutándose incluso cuando el servicio que lo generó se destruya.

Estoy buscando los comandos correctos para insertar en el @ del ServiconDestroy () que limpiará el hilo por mí.

t.destroy();
t.stop();

están depreciados y causan fallas en la aplicación.

Tomé este código de alguna parte

@Override
public void onDestroy() {

    Thread th = t;
    t = null;

    th.interrupt();

    super.onDestroy();
}

pero aún no funciona, el hilo continúa ejecutándose. ¿Alguna ayuda chicos?

Respuestas a la pregunta(7)

Su respuesta a la pregunta