我正在使用SwingWorker在我正在製作的應用程序上執行一些重負載任務。雖然今天我碰到執行人類和這個例子有:SwingWorker和Executor之間的差異
Executors.newCachedThreadPool().execute(new Runnable() {
public void run() {
someTask();
});
有人能解釋爲何人們會使用SwingWorker的,而不是上面的例子嗎?這是我目前使用的SwingWorker方式:
SwingWorker worker = new SwingWorker() {
protected Object doInBackground() {
someTask();
return null;
}
};
worker.execute();
檢查[API的](http://docs.oracle.com/ javase/7/docs/api/javax/swing/SwingWorker.html),您將看到SwingWorker實現了從ExecutorService的'submit(...)'方法返回的Future(接口)(和Runnable)。 SwingWorker的構建與Swing事件線程良好地交互。 – 2012-01-08 18:23:59