总结整理为:在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;继承Thread类的程序按规律顺序执行,没有相互作用,实际开发中一个多线程的操作很少使用Thread类,而是通过Runnable接口完成,Handler可以异步控制Runnable,但是在使用Runnable定义的子类中没有start()方法,只有Thread类中才有,可以通过Thread类来启动Runnable实现的多线程。(且start()可以协调系统的资源);Thread是系统给你的资源,有了Thread你才有从CPU那里得到可执行时间片的权力, 但Thread不认识你的程序,只认识Runnable,所以可以把自己的程序封装进Runnable,然后 一旦调用Thread的start方法,Runnable 方法里的run就会被Thread自动运行。Runnable是一个接口,不是一个线程,所以如果我们使用匿名内部类是运行在UI主线程的,一般线程会实现Runnable。
想详细了解可继续查看http://www.codeceo.com/article/android-handler-runnable-thread.html#comments或以下复制内容:
Android中Handler可以异步控制Runnable,那么这样做于Android中的Thread有什么区别呢?本文将通过多个角度来讲解这个问题,读完此文,相信你会对Android中的Handler Runnable与Thread有一个非常全面的了解。
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中