gpt4 book ai didi

java - 我可以在一个 SwingWorker 中运行另一个 SwingWorker 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 08:50:40 24 4
gpt4 key购买 nike

我需要运行两个 SwingWorker。其中一个只能在另一个完成后才能运行。我可以像这样运行它们吗?

class TestWorker {
private FirstWorker worker1;
private SecondWorker worker2;

public TestWorker() {
worker1 = new FirstWorker() {
@Override
protected void done() {
try {
result1 = get();
} catch (Exception) {
// exception handling
}

worker2 = new SecondWorker() {
@Override
protected void done() {
try {
result2 = get();
} catch (Exception) {
// exception handling
}
}
}

worker2.execute();
}
}

worker1.execute();
}
}

我该如何取消它们?像这样吗?

private cancel() {
if (worker2 != null) work2.cancel();
if (worker1 != null) work1.cancel();
}

非常感谢!

最佳答案

你可以这样做并且它会起作用。但是,除非您未显示外部 done 中的其他操作,否则最好使用在 doInBackground 中执行这两个操作并返回结果数组的东西。

关于java - 我可以在一个 SwingWorker 中运行另一个 SwingWorker 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3409219/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com