Android启动线程的四种方式

来源:互联网 发布:三国志9优化伴侣详解 编辑:程序博客网 时间:2024/06/04 20:09

Android开发当中,经常都需要开启子线程来进行一些耗时,或者可能产生阻塞的操作。开启子线程主要分开两大方式,继承Thread类,或者是实现runnable类。不多说,看代码:

1、继承Thread类的实现:

首先要写一个子线程类,去继承Thread类,重写run方法


class MyThread extends Thread{    @Override    public void run() {        super.run();        //干你需要做的操作    }}

启动该线程:

new MyThread().start();
或者:

MyThread myThread = new MyThread();myThread.start();
两者是等价的。


另外也可以直接用匿名内部类来实现,就不用单独写一个类:

new Thread(){    @Override    public void run() {        super.run();        //进行自己的操作    }}.start();
跟单独写一个类,再启动,两个方式效果是一样的。



2、通过实现runnable接口来实现

同样,可以单独写一个类实现runnable接口:

class FirstThread implements Runnable{    @Override    public void run() {        //干你需要做的操作    }}

这种方法启动线程的方式稍有不同

FirstThread firstThread = new FirstThread();new Thread(firstThread).start();

同样需要实例化自己写的类对象,但该对象不是一个Thread对象,无法直接调用start()方法,这是一个runnable对象,需要new一个Thread对象把runnable对象传进去即可。

同样,启动过程也可以用匿名内部类实现:

new Thread(new FirstThread()).start();


还是那句,如果线程要操作的内容比较少,也可以直接用匿名类方式新建线程,启动线程一气呵成:

new Thread(new Runnable() {    @Override    public void run() {        //进行自己的操作    }}).start();


常用的线程启动方式基本上就是这几种,当然也可能有别的方式,毕竟本人水平有限,欢迎交流,互相学习。











原创粉丝点击