首页 > 代码库 > 多线程之Thread+handler
多线程之Thread+handler
应用开发中,经常会遇到需要多线程技术的时候,比如UI显示和数据处理分开。
在实际应用中经常会遇到这种场景,我们需要新开一个线程来监听数据状态(数据状态的改变,接收数据,发送数据等等),当发现数据状态改变时通知主线程(通过消息机制发送消息到主线程),主线程接收到通知之后进行处理(自定义消息处理接口)。
具体实现如下:
- 准备线程的创建和消息的处理,这里需要用到android里面的Handler和Thread类,在主线程中添加两个成员Handler、Thread,并实现消息的发送和处理:
private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub switch(msg.what){ case 0: //添加自定义消息处理 //... break; default:break; } }};private Thread MagCardDataListenThread = new Thread(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub while(isMagCardRunning){ try{ Thread.currentThread().sleep(1000); //状态改变时发送消息到主线程 if(magcard.IsGetMagCardData()){ Message msg = new Message(); msg.what = 0; handler.sendMessage(msg); } }catch(InterruptedException e){ e.printStackTrace(); } } }});
- 启动子线程
MagCardDataListenThread.start();
以上文章摘自:http://blog.csdn.net/imyang2007/article/details/7839883
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。