我有这样的声明:
// Background doer
Thread BgThread = new Thread() {
@Override
public void run() {
aBgCounter = 0 ;
boolean stopNow = false ;
try {
while( !stopNow ) {
sleep( 1000 ) ;
WriteOnThatLogCat( "BgThread " + String.valueOf( aBgCounter ) ) ;
aBgCounter++ ;
if( aBgCounter > 12 ) stopNow = true ;
}
} catch (InterruptedException e) {
e.printStackTrace() ;
}
}
};
当它完成时,它像这样成功调用(只计数到 12 到 logcat 中)。该过程正确死亡。它是这样开始的:
WriteOnThatLogCat("Issue BgThread.start() from 6") ;
BgThread.start() ;
这当然只是更多涉及的流量控制。无论如何,稍后程序决定再次做同样的事情,并想再次调用线程。我读到线程不能重用,但我真的希望能够重用标识符等,可以调用很多线程来做特定的事情,自己生死并被重用。我试过 = NULL 和各种各样的东西。我怎样才能修改上面的一些片段,如:
WriteOnThatLogCat("Issue BgThread.start() from 6") ;
BgThread.start() ;
可以得到一个新线程并随时做它的事情吗?我认为让每种线程作为目标进程都必须休眠并尝试重新启动自己是无序的,似乎正确的方法是让它做自己的事情并杀死自己,然后在需要时重新制作。我很惊讶我对这件事如此迷失。
谢谢丹