一个方法里,new了一个线程,然后启动这个线程,然后返回一个数据。
请问这个数据是在那个线程执行完毕之后返回吗?
还是不等待那个线程执行完毕,就返回呢?
Thread waiter = new Thread(new Waiter(fs.getCountDownLatch()));
waiter.start();
return NovFileQueue.getInstance().getPath(fileInfo.getFileId());

解决方案 »

  1.   

    新开的线程就是异步的,start方法执行后,会马上执行其下面的代码。而start对应的线程也开始执行。两者是并行的。
      

  2.   

    也就是说,有可能先返回数据结果,再执行start的线程了?
      

  3.   

    return之前waiter.join不过话说话来,你另起这个线程的意义不大了。。
      

  4.   

     如果要从线程中返回结果 可以 使用FutureTask