我在我的 Swing 应用程序中创建了两个 Swing 工作线程类。它们是加载线程,保存线程
- 加载线程用于从 rest 服务加载数据
- 保存线程用于将数据推送到休息服务。
我的问题是,
当我为加载线程创建更多实例时,如何一一执行我的线程?
保存线程应在完成现有加载线程的过程后运行
有没有人指导我为这种情况找到解决方案?
注意:我正在使用 Swing Worker 类来调用休息服务。
我在我的 Swing 应用程序中创建了两个 Swing 工作线程类。它们是加载线程,保存线程
我的问题是,
当我为加载线程创建更多实例时,如何一一执行我的线程?
保存线程应在完成现有加载线程的过程后运行
有没有人指导我为这种情况找到解决方案?
注意:我正在使用 Swing Worker 类来调用休息服务。
如果要从多个线程加载数据,并在加载所有数据后从一个线程保存此数据。您可以尝试使用障碍。例如CountDownLatch可以等待所有加载线程完成它们的工作。
您应该在done
加载线程的方法中启动保存线程。您可以将 saveThread 作为构造函数参数传递给 loadThread 或将其定义为类成员。
这应该适合你;
SaveThread mySaveThread = new SaveThread();
LoadThread myLoadThread = new LoadThread();
class LoadThread extends SwingWorker<String, Object> {
@Override
public String doInBackground() {
//do your work
return "";
}
@Override
protected void done() {
try {
mySaveThread.execute();
} catch (Exception ignore) {
}
}
}
myLoadThread .execute();