ExecutorService 与 Swing 计时器

2024-01-12

我一直在读肮脏的有钱客户 http://filthyrichclients.org/最近注意到,虽然Java的版本是6,但是并没有提到Concurrent Framework。因此,他们谈论 java.util.Timer 和 javax.swing.Timer,但没有谈论 ExecutorService。

我在问题中读到了 ExecutorService 的优点“Java Timer 与 ExecutorService https://stackoverflow.com/questions/409932/java-timer-vs-executorservice”并决定使用后者而不是前者。但这本书讨论了 javax.swing.Timer 以及它专门用于 Swing 开发的优点。

那么,这是否意味着,对于 Swing 开发(动画按钮等),javax.swing.Timer 仍然是更好的选择,或者新的并发框架中是否有相关的类可以替代它?


Swing Timer 至少在 EDT 上运行,因此您不必通过调用 invokeLater 来包装所有内容。它还与 Swing 紧密结合,因为它使用 Actions、ActionListener 和其他 Swing 相关类。

我会坚持使用 Swing Timer 来完成与 Swing 相关的任务,并使用新的并发包来完成不涉及更新 GUI 的任务。

看一下在 Swing 应用程序中使用计时器 http://java.sun.com/products/jfc/tsc/articles/timer/因为它可能包含更多信息来改变(抱歉)决定。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ExecutorService 与 Swing 计时器 的相关文章

  • 带有 Android 支持库 v7 的 Maven Android 插件

    我使用 maven android plugin 构建我的 android 应用程序 它依赖于 android 支持库 v4 和 v7 由于我没有找到如何从developer android com下载整个sdk 因此我无法使用maven
  • Java 7 默认语言环境

    我刚刚安装了 jre7 我很惊讶地发现我的默认区域设置现在是 en US 对于jre6 它是de CH 与jre7有什么不同 默认区域设置不再是操作系统之一吗 顺便说一句 我使用的是Windows7 谢谢你的回答 编辑 我已经看到了语言环境
  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • 如何使用 JAVA 代码以编程方式捕获线程转储?

    我想通过 java 代码生成线程转储 我尝试使用 ThreadMXBean 为此 但我没有以正确的格式获得线程转储 因为我们正在使用jstack命令 请任何人提供一些帮助 他们是否有其他方式获取线程转储 使用任何其他 API 我想要的线程转
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 您建议使用哪种压缩(GZIP 是最流行的)servlet 过滤器?

    我正在寻找一个用于大容量网络应用程序的 GZIP servlet 过滤器 我不想使用容器特定的选项 要求 能够压缩响应负载 XML Faster 已在大批量应用的生产中得到验证 应适当设置适当内容编码 跨容器移植 可选择解压缩请求 谢谢 我
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • 为什么Iterator接口没有add方法

    In IteratorSun 添加了remove 方法来删 除集合中最后访问的元素 为什么没有add方法来向集合中添加新元素 它可能对集合或迭代器产生什么样的副作用 好的 我们开始吧 设计常见问题解答中明确给出了答案 为什么不提供 Iter
  • Java中的断点和逐步调试?

    抱歉我的问题名称很奇怪 我不知道如何寻找这个 因为我不知道这些东西是如何称呼的 Visual Studio 中至少有一个功能 您可以单击代码左侧并设置一个大红点的起点 然后运行程序 您可以通过按 f8 或 f5 实际上是不同的 f 来跟踪步
  • 是否可以从 servlet 内部以编程方式设置请求上下文路径?

    这是一个特殊情况 我陷入了处理 企业 网络应用程序的困境 企业应用程序正在调用request getContext 并将其与另一个字符串进行比较 我发现我可以使用 getServletContext getContextPath 获取 se
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • 在 Java 中通过 XSLT 分解 XML

    我需要转换具有嵌套 分层 表单结构的大型 XML 文件
  • Java、Spring:使用 Mockito 测试 DAO 的 DataAccessException

    我正在尝试增加测试覆盖率 所以我想知道 您将如何测试 DAO 中抛出的 DataAccessExceptions 例如在一个简单的 findAll 方法中 该方法仅返回数据源中的所有数据 就我而言 我使用 Spring JdbcTempla
  • 在 Clojure 中解压缩 zlib 流

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • 无法在 Java/Apache HttpClient 中处理带有垂直/管道栏的 url

    例如 如果我想处理这个网址 post new HttpPost http testurl com lists lprocess action LoadList 401814 1 Java Apache 不允许我这么做 因为它说竖线 是非法的
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • 如何让 Emma 或 Cobertura 与 Maven 一起报告其他模块中源代码的覆盖率?

    我有一个带有 Java 代码的多模块 Maven 设置 我的单元测试在其中一个模块中测试多个模块中的代码 当然 这些模块具有相互依赖性 并且在测试执行之前根据需要编译所有相关模块中的代码 那么 如何获得整个代码库覆盖率的报告 注意 我不是问
  • ArrayList.clear() 和 ArrayList.removeAll() 有什么区别?

    假如说arraylist定义为ArrayList
  • 如何使用通配符模拟泛型方法的行为

    我正在使用 EasyMock 3 2 我想基于 Spring Security 为我的部分安全系统编写一个测试 我想嘲笑Authentication http docs spring io autorepo docs spring secu

随机推荐

  • 确保按顺序处置多个 IDisposable

    我有两个IDisposables我需要按顺序处理 从第一次开始 顺序就很重要IDisposable终止依赖于将被第二个终止的服务的 Rx 订阅IDisposable 这是在 Windows 窗体应用程序中 其中订阅IObservable需要
  • Javascript 清除字段功能不起作用?

    这是我为明文字段创建的函数 但是当输入任何自定义值时 它不会清除 function clear document getElementById bmw1 value document getElementById bmw2 value do
  • 构建容器时如何制作纱线缓存模块?

    这是我的Dockerfile为当地发展 FROM node 12 alpine WORKDIR usr app ENV DEV 1 COPY package json COPY yarn lock RUN yarn frozen lockf
  • 当父进程被杀死时,子进程也被杀死

    我正在使用创建新流程System Diagnostics Process我的应用程序中的类 我希望当 如果我的应用程序崩溃时杀死这个进程 但是 如果我从任务管理器终止我的应用程序 子进程不会被终止 有没有办法让子进程依赖于父进程 From
  • 在 MSBuild 中找出当前操作系统的“位”

    我有一个构建脚本 需要对可执行文件的路径进行硬编码 路径是 C Program Files Microsoft Visual Studio 9 0 SmartDevices SDK SDKTools cabwiz exe 这工作得很好 但现
  • 如何执行 Bash 命令并收集 Java 的输出?

    如何执行 Bash 命令并收集 Java 的输出 大家好 基本上我正在编写一个基本的控制台应用程序 并且希望能够从中运行命令 例如 sudo halt ifconfig 等 有什么见解吗 您可以使用流程构建器 http download o
  • 使用 Lazy 是否会降低性能?

    最近 我遇到了一个单例类的问题 该类延迟初始化字典 其中第二个线程会在实际填充字典之前尝试使用它 所以我通过以下方式实现了变量初始化Lazy
  • Gandi.net 和 Heroku 域路由

    我的 io 域适用于 www domain io 但不适用于 domain io 版本 以下是我尝试过的每个版本和修订版 每个版本和修订版之间都有充足的时间 我等 10800 IN A 174 129 212 2 10800 IN A 75
  • subprocess.check_output():失败时显示输出

    的输出subprocess check output 目前看起来像这样 CalledProcessError Command foo returned non zero exit status 1 有没有办法获得更好的错误消息 我想看看st
  • 在哪里可以学习 DirectX 编程? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想学习 C 编程中的 DirectX 我决定学习DirectX 于是在网上找了一些教程 但是都是very复杂且难以理解 我花了3天时间看
  • .cc 和 .cpp 文件后缀有什么区别?

    有什么区别 cc and cpp文件扩展名 从Google 我了解到它们都来自C 语言 但我不确定它们之间的区别 惯例 从历史上看 C 源文件的后缀是 C 这在第一次移植 C 时引起了一些问题 对于文件名中大小写不重要的系统 不同的用户采用
  • 如何在 Substrate 的智能合约平台 ink 上保存字符串值?

    我最初尝试了这个问题中所教授的实现 如何在 Substrate 上保存字符串值 https stackoverflow com questions 63221904 how can i save string value on substr
  • 如何通过 rmarkdown 自动将 networkD3::sankeyNetwork() 保存到静态图像中?

    当我在 rmarkdown 中编写报告时 我的所有数据都会自动保存在该文件夹下graphs 然而 由于桑基图不同 它不会自动保存为图片 png 等 有解决方法吗 无需通过 RStudio Plots 面板手动保存每个图表 I saw 这个问
  • 如何在 Kotlin 中打印 ClosedRange

    我正在学习 Kotlin 并且我正在尝试理解Ranges 我创建了一系列String如下 val alpha A Z 我想打印我写的这个 for item in alpha println item 但它给出了错误 错误 13 18 Kot
  • 什么时候工厂方法比简单工厂更好,反之亦然?

    我正在阅读 Head First Design Patterns 一书 我相信我了解简单工厂和工厂方法 但我很难看出工厂方法相对于简单工厂带来的优势 如果对象 A 使用简单工厂来创建其 B 对象 那么客户端可以这样创建它 A a new A
  • 到 Out-GridView 和 Out-File 的管道有不同的行?

    以下命令仅返回一行 参数 Context 10被忽略 select string path file txt pattern Context 10 Out GridView 但是 以下命令创建一个包含所有行的文件 select string
  • logback 在 Flink 中不起作用

    我有一个单节点 Flink 实例 它在 lib 文件夹中具有 logback 所需的 jar logback classic jar logback core jar log4j over slf4j jar 我已从 lib 文件夹中删除了
  • 如何在 iOS 中用渐变填充由 CGPoints 定义的形状?

    我在代码中设置了自定义形状的箭头 我想做的就是用渐变填充它 问题是 我不知道如何用渐变填充非矩形形状 暗框内的空间 有任何想法吗 Define colours used in drawing CGContextRef context UIG
  • UILabel 默认字偶距与 CATextLayer 不同

    我有一个UILabel与字符串 LA 我也有一个CATextLayer具有相同的字符NSAttributedString分配给其string财产 字距调整UILabel与CATextLayer 这是代码 void viewDidLoad s
  • ExecutorService 与 Swing 计时器

    我一直在读肮脏的有钱客户 http filthyrichclients org 最近注意到 虽然Java的版本是6 但是并没有提到Concurrent Framework 因此 他们谈论 java util Timer 和 javax sw