我在线程上进行图像转换,在第二个上进行图像转换(并行)。
我的问题是检测到所有线程都已完成,因此我可以获取压缩文件并使用save
方法保存它。
使用我的实际代码,在线程终止之前正在执行save
方法,那么我该如何实现呢?
我的实际代码:
class Compression extends FileProcess {
private Thread compressionThread;
private Thread progressionThread;
@Override
protected void onStart () {
// init data
}
@Override
protected void onEnd () {
// Wait here until all the threads are finished the
InputStream is = getFileContent (
new FileInputStream (
new File ((String)params.get (FilePath))
);
save (is);
System.out.println ("Done");
}
@Override
protected Object getFileContent (InputStream input) {
OutputStream os = new FileOutputStream ("aa.jpg");
compress (input, os);
}
@Override
protected void compress (InputStream input, OutputStream output) {
compressionThread = new Thread () {
@Override
public void run () {
// Compression process
}
};
compressionThread.start ();
progressionThread= new Thread () {
@Override
public void run () {
// Progression windows
}
};
progressionThread.start ();
}
}
谢谢。