Si quieres finalizar un hilo usa una variable de control en plan running=true y que sea el propio hilo el que deje de hacer cosas y acabe naturalmente al comprobar que es false.
Ni joins ni semáforos ni stop ni nada similar. Dan quebraderos de cabeza si no son perfectos.
P.D. eso me pasa por leer rápido, si quieres que el hilo avise de que ha terminado puedes jugar con los handlers y con el postRunnable, que viene a ser lo que hace el asynctask