В Android есть поддержка библиотеки параллелизма Javas, но вы должны обратить внимание на AsyncTask , который поддерживает выполнение операций как в потоке пользовательского интерфейса, так и в фоновом режиме.
Вот краткий пример задачи:
private class CharCountTask extends AsyncTask<String, Integer, Long> {
protected Long doInBackground(String... in) {
long result = 0;
for(int i=0,n=in.length; i<n; i++) {
result += in[i].length();
publishProgress((int) (i / (double) count) * 100);
}
return result;
}
protected void onProgressUpdate(Integer... progress) {
// update progress here
updateProgressBar(progress[0]);
}
protected void onPostExecute(Long result) {
// update the UI here
setTotalChars(result);
}
}
Чтобы использовать это:
new CharCountTask().execute("first", "second", "third");