您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 安卓开发 >> 正文

android平台Java多线程的用法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

在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;


}