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 计时器 的相关文章

随机推荐

  • 确保按顺序处置多个 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