温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android 中如何实现多线程

发布时间:2021-06-28 17:03:08 来源:亿速云 阅读:116 作者:Leah 栏目:移动开发

本篇文章给大家分享的是有关Android 中如何实现多线程,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

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 中如何实现多线程,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI