gpt4 book ai didi

java-如何进行多个(不确定的)异步回调。有设计模式之类的吗?

转载 作者:行者123 更新时间:2023-12-02 00:23:11 25 4
gpt4 key购买 nike

我不确定我问的是否正确,但这就是问题所在。我有一个类可以异步执行 jop,并且还必须在 Swing UI 线程上运行。像这样


SwingUtilities.invokeLater(() -> {
myobj.dosomething(()->{

SwingUtilities.invokeLater(() -> {
myobj.dosomething(()->{
//here it needs to repeat this again and again.
//for an indefinte number of times. So it is hedious to reapat this code
//for few times and impossible to make it dynamic based on user input.
//it was even worse without lambda sytax.
});
});
});
});

编辑:我可能根本不应该提到 swing。因为这不是问题,它只会增加问题。主要问题是我需要调用myobj.dosomething(()->{太多次了。每次它都应该在上一个调用完成后开始。

最佳答案

如果您不想使用 Swing 计时器,则创建一个线程并将您的 UI 代码发布回 UI 线程,如下所示:

Runnable r = new Runnable() {

public void run() {

while (condition holds) {
//sleep, do work, etc.

//Post UI code back to the Swing thread
SwingUtilities.invokeLater(() -> { //some ui code }
}
}
};

Thread t = new Thread(r);
t.start();

关于java-如何进行多个(不确定的)异步回调。有设计模式之类的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58069665/

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