android 开发,多个线程共用一个handler

时间:2023-05-04 22:01:56

在做项目过程中,突然发现,项目中启动了多个线程,但是只有一个handler,而不需要每一个线程单独开一个handler,记下笔记:

handler = new Handler() {
@Override
public void handleMessage(Message msg) {
String rs_result=null; //结果解析json中的result
String rs_msg=null; //json解析后的msg
String _rs = msg.obj.toString(); // json字符串
...
switch(msg.what)
{
case 1:... 接收第一个启动的thread
case 2:... 接收第二个启动的thread
}
}
}
};

启动线程的方式:

uploadThread = new UploadHttpThread(handler,params,ffile,1);
new Thread(uploadThread).start();

但是有一个疑问,我在一个activity中启动了多个线程,但是不知道当handler接收到消息之后该线程还在继续执行吗? 需要手动关闭吗?怎么关闭该线程??