在我的按钮执行中,我调用2个方法。学习主题 - 仅在对方完成后才运行方法
plotButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
startPrinterListOperation();
showAplotPlotterDialog();
}
});
startPrinterListOperation();
需要一段时间才能完成任务。但我不希望方法showAplotPlotterDialog();
运行,直到第一个完成。所以我正在尝试使用线程管理来实现这一点。这是我尝试过的。
plotButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
Thread t = new Thread() {
public void run() {
startPrinterListOperation();
}
};
t.start();
try {
t.join();
}
catch (InterruptedException e1) {
e1.printStackTrace();
}
showAplotPlotterDialog();
}
});
但第二种方法仍然是在第一种方法完成之前开始。
你创造的问题,那么你想解决问题:) – mishadoff
听起来像是'startPrinterListOperation'启动一个异步操作瞬间完成,由'join'成功evidented。否则应该没问题(只要低级别的线程操作可以很好)。 – ron