java iniciar um thread de segundo plano após outro completo

Eu vi esta pergunta:como executar um thread após completar outro thread , mas a resposta para isso não é apropriada para mim.

Eu tenho esse tipo de código java para Android:

public void startTask(Runnable r)
    {
        running = true;
        Log.i(tag, "-----------start.Runnable-----------");

        Thread first = new Thread(r);
        first.start();

        Thread second = new Thread(new Runnable() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                running = false;
            }
        });
}

primeiroThread toma como paramRunnable Objeto com alguma operação difícil que estou processando em serviço de segundo plano. Então, quando eu chamo método:startTask () eu colocorunning = true; para evitar tarefas de execução dupla. Mas, também, eu preciso logo após a conclusão do primeiro thread thread start second para configurarrunning = false; para permitir que outras operações sejam executadas.

Como posso esperar a conclusão do primeiro thread por segundo para não congelar o segmento principal? Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion