如我有以下要求:
主线程要去获得网络上的一个版本号
final version =0;
new Thread(){
public run()
{
version = GetVersion();//这里是取得网上的版本号
}
}.start()
????在这里等待上面的线程终结或超时5秒时继续
Log.d("GetVersion",version+"");
-------------------------------------------
要怎么实现
谢谢
------解决方案--------------------
获取版本好以后发个消息出来,用handler处理这个消息,执行Log.d这一行。
5秒超时用Timer来实现
------解决方案--------------------
启动它并定时5秒后查询它的状态
------解决方案--------------------
楼主的超时5秒继续的意思是:重启线程获取版本吧。
首先,用handler处理消息;
获取版本的线程写成类,然后创建对象,方便销毁和重启,这个线程中发获得版本的成功的消息1;
计时的话也写成类,创建对象,用Theard.sleep就行,到时发消息2;
对消息1处理:销毁计时线程,执行Log.d;
对消息2处理:销毁并重启获取版本线程,销毁并重启计时线程。
希望对楼主有用