当前位置: 移动技术网 > IT编程>移动开发>Android > Android 多线程的实现方法总结

Android 多线程的实现方法总结

2019年07月24日  | 移动技术网IT编程  | 我要评论

新封神榜范冰冰版,现任公安部副部长,广西电视台资讯频道

android 多线程的实例详解

java多线程方式

1. 继承thread线程,实现run方法

2. 实现runnable接口

java单继承性,当我们想将一个已经继承了其他类的子类放到thread中时,单继承的局限就体现出来了

但是可以实现多个接口,所以第二种方法相对于第一种来说灵活许多

其次,通过

new thread(runnable runnable).start() 

启动线程的方式,若变量在runnable中定义,多个线程可以共用,因为来自同一个对象

比较适合多个相同程序代码的线程去处理同一资源的情况

android多线程方式

主要集中在ui线程和其他线程的交互问题上

1. thread,handler,message
2. asynctask
3. runnable

第一种方式,new thread()然后通过handler sendmessage,由handler的handlemessage方法实现对应的处理,完成与ui进程的交互

private handler mhandler = new handler(){
  public void handlemessage(message msg) {
    /*do sth through msg */
  }
}

public badthread extends thread {
  private final static string tag = this.getclass().getname();

  public void run() {
    /*coding*/
  }
};

new badthread().start();

第二种方式,异步线程的方式,doinbackground()中执行任务,onpreexecute()准备工作,onpostexecute()任务结束后调用,onprogressupdate与publishprogress配合使用,实现和ui线程的交互

asynctask mloadingtask = new asynctask(){
  protected object doinbackground(object[] objects) {
  }
  protected void onprogressupdate(object[] values) {
  }
  ......
}

mloadingtask.execute();

第三种方式,runnable对象,通过handler直接post等方法启动线程,实现与ui线程的交互

private runnable mrunnable = new runnable(){
  public void run() { 
    /*do sth*/
  }
}

mhandler.post(mrunnable);

以上就是android 多线程实现的三种方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网