gpt4 book ai didi

java - 在不影响 java swing 中的应用程序的情况下检索 mssql 数据的最佳方法

转载 作者:搜寻专家 更新时间:2023-10-30 22:17:43 24 4
gpt4 key购买 nike

大家好,我正在使用 java swing 和 mssql 2005 开发一个聊天程序,我从 5 个以上的表中获取数据..

为了完成这项工作,我在 Java 中使用了 Timer,以便它每 2 秒检查一次新消息。但问题是它会影响我的应用程序的性能和流畅度。

所以我尝试使用增强了一些性能的 Thread。是否有任何其他方法可以做到这一点,以便检查新消息和用户可用性将在一方面完成,而应用程序在另一部分顺利运行......?

最佳答案

Timer 是用于在后台执行周期性任务的正确选择。在引擎盖下,它使用单独的线程来运行任务,因此您不需要自己弄乱线程。Swing 应用程序运行缓慢通常是由于事件调度线程 (EDT) 上长时间运行的任务。一旦您获得更新 UI 的数据,您的计时器任务很可能是在 EDT 上放置一个 Runnable。检查它做了什么,并确保它只更新 UI,而不做其他可以在后台任务中完成的工作。检查更新 UI 的方式的效率。

请参阅 Threads and Swing 上的 Java 文档和这篇关于 Improve Application Performance With SwingWorker 的文章(最后一个讲的是 SwingWorker 而不是 Timer,但是从 EDT 中取出工作的概念是一样的)。

如果您发布一些代码,我们或许能够更准确地找出问题所在。

关于java - 在不影响 java swing 中的应用程序的情况下检索 mssql 数据的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9263218/

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