Como executar um segmento repetidamente após algum intervalo

Eu quero executar um thread (que faz alguma tarefa demorada em segundo plano e não atualiza UI) apenas faz o download de alguns arquivos da internet e é independente da interface do usuário.

Eu quero executar este segmento repetidamente após algum intervalo de tempo.

Como posso fazer isso, eu tenho segmento algo como abaixo:

boolean mResult =false;

void onCreate()
{
    DownloadThread mDownloadThread = new DownloadThread();
    mDownloadThread.start();
}

class DownloadThread extends Thread implements Runnable
{
    public void run() 
    {
       // My download code 
       mResult  = result;
    }
}

Eu preciso usarHandler para implementar isso?

questionAnswers(3)

yourAnswerToTheQuestion