Diferença real entre o AsyncTask e o Thread

Eu tenho lido a documentação do Android (AsyncTask, Fio) etutorial de vogella sobre este assunto, mas tenho dúvidas ainda.

Por exemplo, quero enviar uma mensagem de um aplicativo Android para um servidor. E gostaria que esse processo fosse responsivo. O que devo usar?

Eu vi exemplos onde eles criam um novoThread para não bloquear a interface do usuário, mas desta forma não temos o progresso do processo, você também tem que processar a resposta dentro doThread porque orun() método não retorna nada.

AsyncTask parece melhor opção do queThread, mas eu não sei quais são as conseqüências de usar umAsyncTask em vez de umThread.

questionAnswers(6)

yourAnswerToTheQuestion