转载请注明出处:http://blog.csdn.net/itachi85/article/details/44874511
1. new Thread
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
}
}).start();
这是最基本的开启线程的方式(实现Runnable接口),我们在初学安卓或者早期开发安卓的开发者们都是用这种方法去开启线程的,此外还有两种方式去开启线程:继承Thread类重写run()方法 和 实现Callable接口,重写 call()方法,这里就不做介绍了。
但是上面的三种开启线程的方法在我们编写android应用时会有以下的弊端:
1.但是我们都知道java线程机制是抢占性质的,调度机会中断线程,将上下文切换到另一个线程,从而为每个线程都提供时间片,使得每个线程都会分配合理的时间去驱动它的任务,java提供了改变线程优先级的方法,但是这会非常难以维护,试图去操纵线程优先级通常是错误的。
2. 每次开启线程创建Thread,销毁线程性能会是很差的
3 .而且这三种开启线程的方法缺乏更多功能,如定时执行、定期执行、线程中