gpt4 book ai didi

Java 等待 JFrame 完成

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:58 26 4
gpt4 key购买 nike

我有一个登录框架,我必须等待另一个线程。成功登录后,框架自行处理。我想弹出应用程序的主框架。现在我正在观察一个 boolean 值以确定何时启动主框架。这样做的正确方法是什么?看着一个 boolean 值感觉并不优雅。

最佳答案

如果您有可用的 Java 5 或更高版本,您可以使用 CountDownLatch .例如,假设最初由主框架控制,让主框架创建倒计时为 1 的 CountDownLatch,并将此锁存器传递给登录框架。然后让主机等待latch变为0:

CountDownLatch loginSignal = new CountDownLatch(1);
... // Initialize login frame, giving it loginSignal
... // execute login frame in another Thread
// This await() will block until we are logged in:
loginSignal.await();

让登录框架完成后,递减 Latch:

loginSignal.countDown();

确保您的登录框架无法在忘记递减闩锁的地方退出!一旦 CountDownLatch 达到 0,主框架就可以运行了。

你也可以使用 SemaphoreCondition (或 java.util.concurrent 中的任何其他选择),但为此目的,CountDownLatch 似乎更易于使用。

关于Java 等待 JFrame 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/799631/

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