我做的一个android程序,要连接webservice,是开启一个线程连接的。现在碰到一个问题,连接webservice超过一定时间就算超时,如何终止连接webservice的线程。谢谢!

解决方案 »

  1.   

    线程跳出run方法 该线程就认为是终止了,你只要判断超时时跳出run方法就行了,不推荐强行终止线程这样是不安全的,一般设标记外部设置该标记来跳出run方法
      

  2.   

    像这样   private boolean flag = true ;
        public void run() {
            while(flag) {
                dojob() ;
            }
        }
        public synchronized void stopThread() {
            flag = false ;
        }
      

  3.   

    #2楼的代码中,dojob方法不是一直要不停的运行吗?
      

  4.   

    这只是框架, dojob()内如果做完了里面也可以调用stopThread来结束线程的
      

  5.   


    嗯,是可以这样做的。再请问一下,
    public synchronized void stopThread() {
            flag = false ;
        }
    这个方法在哪里调用呢?是不是要再开一个线程,过N秒后来调用呢?
      

  6.   


    可以开线程计时或用handler的postdelayed方法计时,
    这个是确定连接超时时调用的,可以在线程内也可以在线程外调用。
    你贴点代码看看