Android 中 Runnable 和Thread 实现多线程操作的小结
Android中实现多线程操作有两种方法:即继承 Thread 和implents 接口 Runable 这两种方法
1、继承Thread,这种方法有一定的局限性,因为java的继承只能够单继承,所以每次要建一个新的线程时都要去重新继承Thread,当然在你需要在不同的线程中做不同的操作时,用这种方法是可取的。
代码:
public class Main{
public static void main(String args[]){
TestThread mythread = new TestThread ();
//此处可以采用mythread.run();的方法去启动线程,但是不建议用这种方法,因为在
//开启多个线程时会有先执行第一个开启的线程达不到相互运行的目的
mythread.start();
}
class TestThread extends Thread{
@override
public void run(){
System.out.println(“测试数据”);
}
}
}
2、implents Runnable 在一般的开发中我们会用到这种方法实现多线程操作,首先是因为它是implents 在java中,可以多实现而不能多继承,同时适用于资源的共享
public class Main{
public static void main(String args[]){
TestThread test1 = new TestThread();
TestThread test2 = new TestThread();
//在使用Runnable定义的子类中没有start()方法,只有Thread类中才有。
new Thread(test1 ).start();
new Thread(test2 ).start();
}
class TestThread implents Runnable{
@Override
public void run() {
System.out.println(“测试数据1”);
}
}
}
handler 与Runnable 结合使用,这种情况下,程序还是在ui主线程运行
public class Main{
public static void main(String args[]){
Handler mHandler=new Handler();
mHandler.post();
}
class TestThread implents Runnable{
@Override
public void run() {
System.out.println(“测试数据1”);
}
}
}