今天早上一来就被人追杀,说我的WFDMonitorThread没有正常退出,测试中导致了一系列的问题。这里,就总结一下线程如何正确退出,同时理解break和return的正确用法。
我写的线程如下:
class WfdMonitorThread extends Thread{
public WfdMonitorThread(){
super("WfdMonitor");
}
public void run(){
Log.d(TAG,"WfdMonitor havestarted");
for(;;){
String eventStr =mWfdManager.wfdClientWaitForEvent();
if("stopThread".equals(eventStr)){
Log.d(TAG,"WfdMonitorstop");
break;//这里也可以用return,对这个程序来说,效果是一样的
}
if(null != eventStr){