在我的按鈕執行中,我調用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