我创建了一个asynctask并在其doInBackground()方法中启动了这样的线程:
private class myAsyntask extends Asynctask{
doInBackground(){
Thread t = new Thread(new Runnable(){
public void run()
{
while(someBoolean!=true){
Thread.currentThread.sleep(100);
}
}
});
}
onPostExecute(){
//do something related to that variable
}
}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是在第一次迭代之后Thread.sleep(),onPostExecute()被调用,而我认为asynctask将在后台运行此线程,当该布尔值为true时onPostexecute()被调用.我无法理解为什么会发生这种情况?