Gia*_*nis 8 java swing multithreading
我正在使用SwingWorker在我正在制作的应用程序上执行一些重载任务.虽然今天我遇到了Executor类和这个例子:
Executors.newCachedThreadPool().execute(new Runnable() {
public void run() {
someTask();
});
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么会使用SwingWorker而不是上面的例子吗?这是我目前使用SwingWorker的方式:
SwingWorker worker = new SwingWorker() {
protected Object doInBackground() {
someTask();
return null;
}
};
worker.execute();
Run Code Online (Sandbox Code Playgroud)
1)SwingWorker被创建为Java Essentials Classes实现之间的桥梁和Swing Future,并且相当保证从方法中输出process,publish并且done将在上面EventDispatchThread
2)你可以调用SwingWorker的Executor,这是最safiest方法如何建立在Swing多线程的工具SwingWorker
3)仔细注意数字或线程,因为Executor不关心SwingWorkerslife_cycle
5)从SwingWorker你必须实现的听力状态PropertyChangeListener
| 归档时间: |
|
| 查看次数: |
3276 次 |
| 最近记录: |