Java定时器-函数调用未完成!

Java定时器-函数调用未完成!,java,android,android-asynctask,Java,Android,Android Asynctask,因此,我有一个TimerTask任务在其run()中调用函数onTimerComplete() onTimerComplete()看起来像这样: private void onTimerComplete(){ myFunc1(); myFunc2(); } 我制作了一个定时器t,并用t.schedule调度TimerTask(task,2000) 问题是,当计时器启动且任务运行myonTimerComplete()但该函数未完成时。它运行myFunc1(),但从未完成,也从未调用myF

因此,我有一个
TimerTask任务
在其
run()中调用函数
onTimerComplete()

onTimerComplete()
看起来像这样:

private void onTimerComplete(){
  myFunc1();
  myFunc2();
}
我制作了一个
定时器t
,并用
t.schedule调度
TimerTask
(task,2000)

问题是,当计时器启动且任务运行my
onTimerComplete()
但该函数未完成时。它运行
myFunc1()
,但从未完成,也从未调用
myFunc2()

但是,如果我直接调用
onTimerComplete()
,一切都会正常工作

这是怎么回事?

如果
myFunc1()
启动但从未完成,那么问题很可能出在该函数中

您需要知道,该函数将在单独的线程中调用。两个线程之间可能存在某种不必要的交互。()


如果
myFunc1()
使用的某些变量也用于其他并发活动,则可能需要同步部分代码。可能会帮助您找出问题所在以及解决方法。

谢谢您提供的信息。进一步阅读/测试后,这肯定是线程问题。谢谢你给我指明了正确的方向!我解决了这个问题!问题是,我试图从不同于UI线程的线程更新UI元素,我不知道这是一个禁忌。因此,我没有使用
计时器
,而是创建了一个扩展
异步任务
的类,并让它做与计时器相同的事情。现在使用扩展的
AsyncTask
一切都很好!