WEB开发网
开发学院手机开发Android 开发 android平台Java多线程的用法 阅读

android平台Java多线程的用法

 2012-12-17 11:16:00 来源:WEB开发网   
核心提示: 在Java中要想实现多线程,有两种手段,android平台Java多线程的用法,一种是继承Thread类,另外一种是实现Runable接口,那么此种方法就不能用,因为Java中不允许同时拥有几个父类,对于直接继承Thread类来说,代码大致框架是:class 类名 extends Thread{ 方法1; 方

 在Java中要想实现多线程,有两种手段,一种是继承Thread类,另外一种是实现Runable接口。

对于直接继承Thread类来说,代码大致框架是:

class 类名 extends Thread{
方法1;
方法2;

public void run(){
// other code…
}
属性1;
属性2;


}
下面通过一个简单小例子帮助理解~

时钟每隔1s输出一次:

import java.util.Date;


public class ClockThreadTest {

public static void main(String[] args) {
ClockThread clockThread=new ClockThread();
clockThread.start();
System.out.println("End");
}
}
class ClockThread extends Thread{
@Override
public void run() {
super.run();
while(true){
System.out.println(new Date());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}

}
}
}
输出结果显示:

....

无尽的往下输出....

注意:虽然我们在这里调用的是start()方法,但是实际上调用的还是run()方法的主体。

那么:为什么我们不能直接调用run()方法呢?

我的理解是:线程的运行需要本地操作系统的支持。

但是这种方法有它的弊端,拿本例子来说,ClockThread如果有其他的父类,那么此种方法就不能用。因为Java中不允许同时拥有几个父类。下面介绍下一种方法:

通过实现Runnable接口,大致框架是:

class 类名 implements Runnable{
方法1;
方法2;

public void run(){
// other code…
}
属性1;
属性2;


}

Tags:android 平台 Java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接