En lugar de usar threads planos puedes usar AsyncTask.
http://developer.android.com/referen...AsyncTask.html
Porque si inicias un nuevo thread no puedes interactuar con la GUI así nada mas.
En
onPostExecute
pones todo lo necesario para actualizar tu listview y listo.