我在玩 LG LG P990 Optimus 速度,发现使用多线程根本无法获得任何加速。
我使用以下代码来测量某些计算所需的时间。
公共类 TestThreads 扩展 Thread{
public void run()
{
double temp;
for(int i = 0; i < 5000000 ;i++)
{
temp = Math.random()*Math.random();
}
}
}
long start = System.currentTimeMillis();
Thread t1 = new TestThreads();
Thread t2 = new TestThreads();
t1.start();
t2.start();
t1.join();
t2.join();
结果时间我与计算所需的时间进行了比较
for(int i = 0; i < 10000000 ;i++)
{
temp = Math.random()*Math.random();
}
由于 2 Threaded 版本计算了相同数量的循环,但分布在 2 个可能并行运行的线程上,我预计这个版本会明显更快。然而,根本没有加速,在某些情况下,线程版本甚至更慢。我的想法/代码有问题还是 Android 没有跨多个 CPU 内核分配多个线程?