大家好!俺遇到一个问题虚心请教,
| proceA
|
|
|
     | proceB
     |
     |
|
|
|
|proceA 在执行过程中,又有一个proceB,现在proceA要等到proceB执行完毕后,再接着执行,如何实现?比如:我现在做的是用proceA寻找U盘,找到后再用proceB挂载(生成proceB:Runtime.getRuntime().exec( "mount "+ /dev/sda1+ " " + /mnt/sda1 );),然后再使用proceA拷贝U盘里的东西到本机。谢谢大家!

解决方案 »

  1.   

    记得有一个join方法
    楼主查一下api看看吧 ^_^
      

  2.   

    非要用线程可以,用join。但是那个观察者的那个就不着边了
      

  3.   

    Object obj=new Object;Thread t1=new Thread(){
      public void run(){
        synchronized(obj){
        obj.wait();//暂时释放obj的锁,线程处于等待状态
        }
        ...
      }
    }Thread t2=new Thread(){
      public void run(){    //do something
        synchronized(obj){
        obj.notifyAll();//唤醒对obj加锁的线程
        }
      }
    }
      

  4.   

    flyxxxxx(灭神)说得对!我也这样用过!
      

  5.   

    > 看你这张图,我都觉得还是一个线程的好啊如果能用线程的话恐怕就没有问题了。我想楼主是因为不得不调用外部命令,所以必须启动一个“进程”,所以才需要同步、等待。等待一个进程的结束可以用 Process 里的 waitFor()。