java - 在不卡住 GUI 的情况下替代小任务的线程

标签 java

我正在编写一个小型应用程序,由一个图形用户界面和几个按钮组成。当用户单击其中一个时,程序必须下载一个网页,进行一些匹配并向 gui 返回一个值。 问题是,每次用户单击该按钮时我都必须启动一个新线程,或者对于这些小任务(主要是从 Web 下载内容)是否有替代线程?

最佳答案

您总是必须使用不同的线程。现在你如何使用这些不同的线程可以由你决定。查看 producer/consumer 方法,其中只有一个空闲线程坐在后台等待工作排队。这似乎很适合你的工作。您还应该尽可能使用 SwingWorker,因为它有助于大量 GUI 更新和刷新。最后,看看 java.concurrency 包,它非常有用。现在,我认为没有任何理由在不使用为您执行所有锁定和线程处理的库的情况下手动启动线程。

关于java - 在不卡住 GUI 的情况下替代小任务的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4797333/

相关文章:

java - HttpServletResponse.sendRedirect() 改变方法类型

java - 什么类转换为 GWT 中的 java 脚本?

java - 四个相同的 Selenium 测试给出不同的结果

java - Server Stop responding because of [Pool-Cleaner] :Tomcat Connection Pool but has failed to stop it. 这很可能造成内存泄漏

java - FileNotFound 之后我创建了一个 jar 文件

JavaFX:TableView 行选择

java - 创建项目时 Eclipse Oxygen 上的 Maven 出现 "Could not resolve archetype"错误

java - Spring Post : HTTP/1. 1 405 不允许的方法

java - Flutter build apk 命令抛出错误并且未构建 apk

java - 带有可点击链接的 JOptionPane