-4
我遇到了一个奇怪的问题,我的run()方法运行一次函数两次。可能的原因是什么? run()是从另一个线程调用的。函数重复调用
run()
{
while(...)
{
...
}
function();
}
我遇到了一个奇怪的问题,我的run()方法运行一次函数两次。可能的原因是什么? run()是从另一个线程调用的。函数重复调用
run()
{
while(...)
{
...
}
function();
}
在这种情况下,如果你打印出堆栈跟踪,找出谁是主叫方,或者你可以使用一个调试器只设置一个断点,并检查调用树它帮助。
打印出堆栈跟踪的最简单方法是:
for (StackTraceElement ste : Thread.currentThread().getStackTrace()) {
System.out.println(ste);
}
的唯一原因是,它叫了两声...所以你应该张贴其他线程的代码,而不是这一个 – 2013-03-14 15:19:47
安置自己的代码.. – Pragnani 2013-03-14 15:20:00
请阅读http://tinyurl.com/so-list – 2013-03-14 15:20:41