.Android用Handle调用线程与用Thread直接创建线程的区别?

1、用Handler的情况
Handler mHandler = new Handler();
mHandler.post(r);
Runable r = new Runable(){
     public void run(){
         //do something
     }
}


2,用Thread直接创建的情况
new Thread(){
     public void run(){
        // do something
     }
}.start();

在Android下两者的区别是什么?


------------------------------------------------------------------------------------------------------------------
问题补充:
苹果超人 写道
第一种情况通过mHandler.post(r)其实是只调用线程的run()方法,然不是调用start()方法来启动一个新线程。
第二种方法是启动一个新线程,也就是说它跟主线程不是同一个线程了。而第一种还是在主线程中的。

这么说来,用Hander就不算开启线程?

采纳的答案

2011-06-16 苹果超人 (资深程序员)
第一种情况通过mHandler.post(r)其实是只调用线程的run()方法,然不是调用start()方法来启动一个新线程。
第二种方法是启动一个新线程,也就是说它跟主线程不是同一个线程了。而第一种还是在主线程中的。

提问者对于答案的评价:
谢谢!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值