问Android -停止线程的最好且安全的方法EN

问Android -停止线程的最好且安全的方法EN

这种情况与标准Java没有任何不同。您可以使用标准方法停止线程:

代码语言:javascript运行复制class WorkerThread extends Thread {

volatile boolean running = true;

public void run() {

// Do work...

if (!running) return;

//Continue doing the work

}

}主要思想是时不时地检查字段的值。当您需要停止线程时,将running设置为false。此外,正如Chris所指出的,您可以使用中断机制。

顺便说一句,当您使用AsyncTask时,您的分配不会有太大的不同。唯一的区别是,您必须从任务中调用isCancel()方法,而不是使用特殊字段。如果你调用cancel(true),但是没有实现这个机制,线程仍然不会自动停止,它会运行到最后。

🔍 相关推荐