gpt4 book ai didi

multithreading - JUnit 线程测试

转载 作者:行者123 更新时间:2023-12-01 09:34:45 25 4
gpt4 key购买 nike

我的应用程序中有客户端和服务器线程。当我将这些应用程序作为独立应用程序运行时,这些线程可以正常通信。

但是当我将客户端作为 JUnit 运行而服务器作为独立运行时,客户端线程会在几秒钟内终止。

我不明白,为什么会有如此不同的行为。

最佳答案

当 JUnit 运行程序终止时,所有生成的线程等也会被杀死(因为它很可能在单独的 JVM 实例中运行)。

这是一个(相当老的)article describing the problem you experienced (虽然它推荐的 GroboUtils 库似乎很久以前就被放弃了)。和another, recent one ,通过使用新的 Java 并发框架的更现代的解决方案。

后一种解决方案的要点是它通过执行器运行线程,执行器通过 Futures 发布运行结果。 Future.get 一直阻塞,直到线程完成任务,自动保持 JUnit 测试事件。您可以根据自己的情况调整此技巧。

关于multithreading - JUnit 线程测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10277030/

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