当我启动使用多个线程的Android应用程序(它们确实可以工作和运行)时,我在Android设备监视器中看到的只有11个线程,对我的应用程序来说永远不会更少,永远不会更多。
它们被命名为main,GC,Signal Catcher,JDWP,Compiler,ReferenceQueueDaemon,FinalizerDaemon,FinalizerWatchdogDaemon,Binder_1,Binder_2,Thread-6542。
该列表中应该有几十个我自己的线程。似乎我的线程只是打包在单个线程上,每个线程运行它们一段时间并重复。
for (Move m : moves) {
MinMaxThread thread = new MinMaxThread(m, values, color);
thread.run();
threads.add(thread);
}
for (Thread t : threads) {
boolean working = true;
while (working) {
try {
t.join();
working = false;
} catch (InterruptedException e) {
}
}
}
编辑:结果我出于某种原因使用了run()而不是start()。
答案 0 :(得分:0)
使用start()
方法启动线程,而不是直接调用run()
。