android多线程实例及总结
来源:互联网 发布:零基础学软件编程 编辑:程序博客网 时间:2024/05/17 23:23
public class FirActivity extends Activity { static final int LOOPER_QUIT=-1; static final int LOOPER_BACK=1; public Handler handler_fat=new Handler()//主线程handler,用于接收子线程传来的消息,并且主线程默认有Looper; { public void handleMessage (Message msg) { if(msg.what==LOOPER_BACK)//接收子线程的消息 { Log.d("father","father->LOOPER_BACK"); } } }; public Handler handler_son; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button=(Button)findViewById(R.id.button1); final Thread thread=new Thread(new Runnable() { public void run() { Looper.prepare();//子线程默认无looper,需开启looper; handler_son=new Handler()//子线程Handler,用于接收其他线程发送来的消息; { public void handleMessage (Message msg) { if(msg.what==LOOPER_QUIT) { Log.d("thread", "prepare to go to death"); this.getLooper().quit();//结束Looper循环,子线程由于代码已执行完,准备死亡; } else if(msg.what==LOOPER_BACK) { Log.d("thread", "LOOPER_BACK"); handler_fat.sendEmptyMessage(LOOPER_BACK);//发送给主线程消息; } else { Log.d("thread", msg.what+""); } } }; Looper.loop();//Looper正式开始运行,代码执行到此开始循环,后面在结束之前不会执行; Log.d("thread", "going to death"); } }); thread.start();//线程开始启动 button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Log.d("main",thread.isAlive()+"");//换回thread是否存活,此处为true; handler_son.sendEmptyMessage(44); handler_son.sendEmptyMessage(LOOPER_BACK); handler_son.sendEmptyMessage(LOOPER_QUIT); Log.d("main",thread.isAlive()+"");//此处为false; } }); }}
本文出自 “Rainlee的随笔记” 博客,请务必保留此出处http://rainlee.blog.51cto.com/7389753/1297205
0 0
- android多线程实例及总结
- Android多线程总结与实例
- Android Volley:使用方法总结及实例解析
- 多线程原理及实例
- MFC多线程及实例
- MFC多线程及实例
- Android多线程基础实例
- Android多线程下实例
- Android下Java多线程及线程池机制总结笔记
- Linux socket 及多线程 实例
- 浅析多线程及用法(实例)
- 多线程之三:MFC多线程及实例
- 多线程之三:MFC多线程及实例
- 多线程之三:MFC多线程及实例
- 多线程之三:MFC多线程及实例
- 多线程之三:MFC多线程及实例
- Android Intent 用法全面总结及实例代码
- android多线程编程总结
- sqlite3编程&示例
- 关于android的零碎问题的整理
- 接口回调
- 将泛型集合类(List<T>)转换成DataTable,返回的DataTable所有列的数据类型为string型,且列顺序与字符串提供的字段顺序一致
- bzoj1037(dp 1A)
- android多线程实例及总结
- 关于Bound Services的常用方式
- redhat下给普通用户增加sudo命令,让他可以获得修改等权限
- 关于控件touch事件的整理
- 关于Android如何给传递线程初始化数据
- 突出一个简单粗暴!Android Activity泄漏问题解决方案
- 关于静态变量的继承
- PSR-2 代码风格规范
- 关于android中box2D总结与实例