【发布时间】:2016-04-30 17:10:09
【问题描述】:
我有一个工作人员 Thread 与一个 Handler 关联。 Handler 接收Messages 并在worker Thread 中执行一些操作。我想在我的Activity 的onPause() 中“停止”Thread。在我的Activity 的onPause() 方法中,我向我的Handler 发送退出消息,以便我的工人Thread 将突破Looper.loop() 并从run() 返回。
- 这是停止
Thread的正确方法吗?如果没有,应该怎么做? - 我已经看到从主
Thread调用t1.join()的代码示例,其中t1 是他们的工人Thread。-
join()的目的是什么? - 在我的示例中是否需要
join()?
-
我的工人Thread:
class WorkerThread extends Thread {
private static final int QUIT = -1;
public Handler mHandler;
public void run() {
Looper.prepare();
mHandler = new Handler() {
public void handleMessage(Message msg) {
// do stuff
if(msg.what == QUIT){
Looper.myLooper().quit();
}
// do stuff
}
};
Looper.loop();
}
}
【问题讨论】:
标签: java android multithreading