gpt4 book ai didi

Java启动while循环而不暂停当前线程

转载 作者:行者123 更新时间:2023-12-02 06:46:48 24 4
gpt4 key购买 nike

我有一个 GUI,当单击按钮时,必须启动 while 循环。但是在启动 while 循环后,GUI 将暂停,直到 while 循环终止。有什么办法可以避免这个问题吗?

最佳答案

我想通常要防止这种情况发生,您应该创建另一个Thread来进行冗长的计算,然后通过EDT更新GUI(使用SwingUtilities.invokeLater(Runnable);)

所以在你的情况下,当按下该按钮时,它看起来像这样:

final Thread thread = new Thread(
new Runnable(){
public void run(){
while(condition){
.....
}
//update gui
}
}
);
thread.start();

或者,如果您使用的是 Java 8,则可以使用 lambda:

final Thread thread = new Thread(
() -> {
while(condition){
.....
}
//update gui
}
);
thread.start();

您可以通过利用充当某种监听器的接口(interface)来删除该while循环。

关于Java启动while循环而不暂停当前线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18550935/

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