android平台Java多线程的用法
2012-12-17 11:16:00 来源:WEB开发网在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;
…
}
- ››JavaScript项目优化总结
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››Java获取特殊目录或特殊值
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
更多精彩
赞助商链接