一、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方法)。