Android创建线程的两种方式及比较

时间:2022-11-13 17:34:54

一、Android创建线程的方式通常为以下两种:

    Java提供了线程类Thread来创建多线程的程序。其实,创建线程与创建普通的类的对象的操作是一样的,而线程就是Thread类或其子类的实例对象。每个Thread对象描述了一个单独的线程。要产生一个线程,有两种方法:

1.通过继承Thread类本身;

2.实现Runnalbe接口


二、详述

1.通过继承Thread类本身;

需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法。

class MyThread extends Thread {
 
         public void run() {
             
              . . .
         }
     }
启动线程:
MyThread myThread = new MyThread ();
new MyThread().start();

2.实现Runnalbe接口;

实现Runnalbe接口,重载Runnalbe接口中的run()方法。然后可以分配该类的实例,在创建 Thread 时作为一个参数来传递并启动。

class runnable implements Runnable {
 
         public void run() {
             
              . . .
         }
     }

启动线程:

MyRunnable runnable = new MyRunnable();
new Thread(runnable).start();


三、两种方式的比较

1.继承Thread类实现多线程,要求放入多线程中的类不能继承其他类(Java的单继承特性),如果需要请用 Runnable 实现(接口可以多实现并不影响继承其他类)。      

2.一个实现Runnable接口的类可以放在多个线程中执行,多个线程可以去执行同一资源;而继承Thread只能实现多个线程分别去处理自己的资源。(通过Runnable创建的多个线程可以由编程人员传入同一个Runnable对象,即执行同一个run方法,而通过Thread创建的多线程它们运行的都是自己的run方法)。