我想用多线程进行两种不同的计算。我有一个AsyncTask,里面有“doInBackground”函数。在这个函数中,我想要利用多核进行更多的计算。我试图使用IntentService,但我不知道它是如何工作的。这是主要的活动代码:如何进行多线程计算Android
@Override
public String doInBackground(Void... params) {
long startTime = System.currentTimeMillis();
Intent multi_pi = new Intent(
getApplicationContext(),
multi_pi.class
);
startActivity(multi_pi);
long endTime = System.currentTimeMillis();
long total_time = endTime - startTime;
String time = Long.toString(total_time);
return time;
}
这是第一次计算的代码:
public class multi_pi extends IntentService {
public multi_pi(String pi_1) {
super(pi_1);
}
@Override
protected void onHandleIntent(Intent pi_1) {
//first calculation
}
}
是否有另一种解决方案来做到这一点?
为什么你需要IntentService?如果你想多线程计算,只需同时运行几个AsyncTasks。 – AterLux
小心AsyncTask,因为它已知会导致内存泄漏 – mrroboaat