如我有以下要求:
主线程要去获得网络上的一个版本号
final version =0;
new Thread(){
public run()
{
    version = GetVersion();//这里是取得网上的版本号
}
}.start()
????在这里等待上面的线程终结或超时5秒时继续
Log.d("GetVersion",version+"");
-------------------------------------------要怎么实现谢谢

解决方案 »

  1.   

    获取版本好以后发个消息出来,用handler处理这个消息,执行Log.d这一行。
    5秒超时用Timer来实现
      

  2.   

    楼主的超时5秒继续的意思是:重启线程获取版本吧。
    首先,用handler处理消息;
    获取版本的线程写成类,然后创建对象,方便销毁和重启,这个线程中发获得版本的成功的消息1;
    计时的话也写成类,创建对象,用Theard.sleep就行,到时发消息2;
    对消息1处理:销毁计时线程,执行Log.d;
    对消息2处理:销毁并重启获取版本线程,销毁并重启计时线程。希望对楼主有用