当前位置: 首页 > 面试题库 >

使用Java的SwingWorker超时任务

阴高寒
2023-03-14
问题内容

我正在尝试SwingWorker在我的应用程序中实现一个类。有没有办法设置时间长度,之后SwingWorker会“超时”?我当时在想,也许会抛出一个OutOfTime异常,我可以捕捉然后处理。我只是不确定如何实现它。

感谢你的帮助!


问题答案:

为什么不将您的任务嵌入到Runnable中,将其放入新的单线程ExecutorService中,然后get()在适当的超时时间内对生成的Future执行。这将为您提供超时功能,因为get()如果作业未及时完成,则会抛出异常。



 类似资料:
  • 问题内容: 我正在使用SwingWorker通过TCP连接读取数据并在数据返回时显示。 当套接字失效时,例如在writeTo之后,它将永久等待套接字上的输入,从而产生问题。一段时间后最简单的超时方法是什么?是否这也是在这种情况下,最好的解决办法?在该解决方案中,我还会使用摇摆工人吗? 谢谢 问题答案: 是的,您链接到的解决方案是一个合理且简单的解决方案(“ best”太主观了:)您可以利用Swin

  • 我已经使用ExecutorService实现了超时任务。在下面的方法中,我正在提交超时任务,如果它在给定的时间内超时,我将取消该任务并关闭执行器。 它运行得很好,我没有任何问题。 然而,我想知道这是否是最好的代码设计。我只是想知道如果使用ExecutorService返回的未来是否会更好。submit()获取可调用函数的返回值或超时超时任务。例如 我正在使用JDK7。

  • 问题内容: 我有登录屏幕的GUI。每当我按下登录按钮时,都会对照在线mysql数据库中的输入检查用户名和密码,我正在通过登录按钮的actionPerformed()方法从数据库中提取所有这些信息。问题是程序正在从数据库中获取数据时, GUI冻结。我搜索了我的问题,发现我应该使用SwingWorker,但是作为一个新手,我没有获得如何使用SwingWorker的目的。 问题答案: 首先,在您的类中声

  • 问题内容: 我是Java的新手,我看了一些有关SwingWorker的教程。但是,我不确定如何使用在上一个问题中给出的示例代码来实现它。 任何人都可以就我的代码片段解释如何使用SwingWorker和/或将我引向一个不错的教程吗?我已经看过了,但不确定自己是否了解。 问题答案: 通常,用于在中执行长时间运行的任务。 在事件调度线程(EDT)上运行长时间运行的任务可能会导致GUI锁定,因此要做的一件

  • 问题内容: 朋友,我正在开发一个Java应用程序。多数民众赞成在性能监控。关于这一点,我在一堂课中获取价值,并在另一堂课中绘制图表。我想使用swingworker交替执行这两个课程。 上面的类用于收集服务器状态并将其存储在哈希图中。该类称为“ MySQLClass”。 上面的代码是在一个称为“ Graph”的类中绘制Graph的代码。我如何使用Swing Worker交替执行此操作并在每次迭代中绘