如何检查特定流程何时完成?在我的场景下载,处理,上传顺序发生。
以下是我想要完成的事情 -
1)从服务器下载excel文件(大小不一 - 这就是我试图检查时间的原因)
call S3DataGetUrlForDownload( parameters )
2)处理java servlet中的excel文件,将其上传到API(与第一台服务器不同)。
upload.fileUpload( parameters );
从未使用线程/定时器进行编程。添加了这部分睡眠代码,但是当excel很大时它会失败。
try {
Thread.sleep(2000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
答案 0 :(得分:1)
如果您在其他主题中执行此操作,则不要在另一个主题中执行此操作。然后'处理完成'基本上变成了被调用的方法返回'。
答案 1 :(得分:0)
在线程类中有一个名为join的方法,它将阻塞直到该线程完成执行。只需为您的下载/工作线程(从主线程)调用它,它的行为就像您在恰当的时间调用Thread.sleep一样。