比如一个服务端的线程,需要我点击确定后才开始接收文件

解决方案 »

  1.   

    不是直接用java的Thread的wait(),notify()来挂起,激活线程么?
      

  2.   

    总是提醒我locked thread before notify ,能有直接的代码例子不
      

  3.   

    我说下我的思想吧,我在子线程里面建了一个锁对象,是class A,然后我clone一个,再把它传到主线程里面,然后我用这个锁对象去锁住我要挂起的那段代码,在这段线程wait前我用一个handle传出消息产生一个对话框,然后执行下面的代码,让线程等待while(WAIT==null)
    a.wait();最后我在对话框中点击确定的话,那么这个WAIT!=null了,然后在b.notify()。
    但是这段代码总是说我在没加锁之前就notify了,我很费解啊,我用 synchronized(a)不是加锁了吗,难度是我当前的线程不对的原因吗,是否要用looper获取当前线程再来执行notify操作
      

  4.   

    可以在run方法中设置一个标志位。默认false不执行。点击按钮变为true执行
      

  5.   

    这样不行,因为handle已经传完消息,下面那一步就要走了,如果不执行那你在dialog中操作就没意义了
      

  6.   

    看下android pro 2书籍 中一个dialoge模型,是异步的,在www.eoeandroid.com有下载的