首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >是否等待JavaFX应用程序线程完成事件处理?

是否等待JavaFX应用程序线程完成事件处理?
EN

Stack Overflow用户
提问于 2016-04-24 09:17:27
回答 1查看 1.7K关注 0票数 5

这里有很多问题是关于如何为后台线程暂停JavaFX应用程序线程的,但我的想法正好相反!

我正在尝试测试一系列键输入需要多长时间才能完全处理。我使用的是JavaFX的Automaton测试库,editor.type(key)生成一个由应用程序处理的按键事件。以下是众多尝试中的一个:

代码语言:javascript
运行
AI代码解释
复制
long start = System.nanoTime();

editor.type(AGUtils.LEFT_ARROW);
editor.type(AGUtils.LEFT_ARROW);
editor.type(AGUtils.RIGHT_ARROW);
editor.type(AGUtils.RIGHT_ARROW);

FutureTask<Callable> t = new FutureTask<>(...);
Platform.runLater(t);

while (!t.isDone()) { } // wait for the FutureTask to be called

long end = System.nanoTime();

但是,似乎FX应用程序线程在处理其余的按键事件之前可能正在处理FutureTask。

我想精确地测量JavaFX应用程序线程何时处理完我生成的四个按键事件。

我该怎么做呢?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2016-05-02 07:48:00

使用ExecutorService并等待线程完成。存储您启动服务的时间戳,然后比较两个时间之间的差异以获得答案。

关于如何使用ExecutorService的一个简单示例

代码语言:javascript
运行
AI代码解释
复制
ExecutorService taskExecutor = Executors.newFixedThreadPool(4);
while(...) {
  taskExecutor.execute(new MyTask());
}
taskExecutor.shutdown();
try {
  taskExecutor.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS);
} catch (InterruptedException e) {
  ...
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36821260

复制
相关文章
C#多线程同步事件及等待句柄
最近捣鼓了一下多线程的同步问题,发现其实C#关于多线程同步事件处理还是很灵活,这里主要写一下,自己测试的一些代码,涉及到了AutoResetEvent 和 ManualResetEvent,当然还有也简要提了一下System.Threading.WaitHandle.WaitOne 、System.Threading.WaitHandle.WaitAny和System.Threading.WaitHandle.WaitAll ,下面我们一最初学者的角度来看,多线程之间的同步。
全栈程序员站长
2022/09/14
1.2K0
Kubernetes等待部署完成
在CI/CD的时候,我们有时候需要等待部署完成,pod已经正常运行后,再进入容器执行一些命令,例如laravel环境下,我们需要等pod起来后,再执行migrate。
少羽大怪兽
2020/11/12
1K0
使用Disruptor完成多线程下并发、等待、先后等操作
场景1:一个线程等待其他多个线程都完成后,再进行下一步操作(如裁判员计分功能,需要等待所有运动员都跑完后,才去统计分数。裁判员和每个运动员都是一个线程)。
天涯泪小武
2019/01/17
1.9K0
如何查看批量并行处理的程序是否完成
跑了整三天的trim_galore程序,昨天晚上预计半夜会完成。所以早上起来 df了下,这个命令我习惯用,也没有出过错。 早上一看,硬盘没有写入活动,就确定可以进行下一步工作了。所以就mv了几个文件。但当我执行下一个程序的时候发现一个问题,OGM,虽然没有再写入磁盘的数据,但是程序好像仍然没有完结,有部分数据没有最终写入完成。 于是,马上top,确实没有结束,ps -ef很多命令仍然在执行中。 但为时已晚。 google没有找到类似这种问题。 于是,把僵尸数据处理掉,又找到其对应的源文件,修改后,重新来过。 所以 对于重要的文件要反复确认是否已经处理完成,或上传或下载完成。
Y大宽
2019/06/05
8500
关于 Oracle RAC 等待事件
gc current/cr block request:这个等待事件说明申请实例要申请一个当前块或CR块,但是资源主实例的LMS进程还没有响应它的请求。
星哥玩云
2022/08/17
1.4K1
【EventBus】事件通信框架 ( 发送事件 | 判断发布线程是否是主线程 | 子线程切换主线程 | 主线程切换子线程 )
在转发的过程中 , 需要针对订阅方法的 @Subscribe 注解的不同 threadMode 属性进行不同的线程模式处理 ;
韩曙亮
2023/03/29
6380
[AWR报告]log file sync等待事件
当用户提交(commit)语句时,一个进程会建立一个redo 记录并把它拷贝至SGA中的log buffer中,然后这个进程会通知LGWR进程再将log buffer中的内容写入日志文件(redo file)中,同时清空log buffer的内容,最后返回完成消息,这就完成了一次commit操作
bsbforever
2020/08/19
9970
Oracle-等待事件解读
等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件。
小小工匠
2021/08/16
4830
[AWR报告]log buffer spaces等待事件
log buffer space 这个等待事件一般来说很少发生,一旦等待比较严重 往往说明系统的设置问题
bsbforever
2020/08/19
1.2K0
JavaFX——(第一篇:介绍篇)
什么是JavaFX JavaFx平台是一个富客户端平台解决方案,它能够使用应用程序开发人员轻松的创建跨平台的富客户端应用程序。它构建在Java技术的基础之上,JavaFX平台提供了一组丰富的图形和媒体API与高性能硬件加速图形和媒体引擎,简化开发数据驱动的企业客户端应用程序。 JavaFX有以下优点: 因为JavaFX平台是用Java编写的,Java开发人员可以利用现有的技能和工具来开发JavaFX应用程序。 因为java是广泛使用的,所以很容易找到能轻易将JavaFX应用变成产品的开发人员。 因为跟Jav
cloudskyme
2018/03/20
6.5K0
JavaFX——(第一篇:介绍篇)
C#多线程(11):线程等待
前面我们学习了很多用于线程管理的 类型,也学习了多种线程同步的使用方法,这一篇主要讲述线程等待相关的内容。
痴者工良
2021/04/26
2.3K0
线程的通知与等待
Java中的Object类是所有类的父类,鉴于继承机制,Java把所有的类都需的方法放在了Object类里面,其中就包含要说的通知与等待。
YanL
2020/04/29
1.1K0
线程的通知与等待
如何处理会话等待事件与ORA-21780故障
作者 | 张维照,Oracle ACEA,2006年起从事数据库管理工作,2009年转 Oracle,从事过多套 TB 级省级工商、医疗、交通、人社、电信运营等数据库维护优化工作,擅长Oracle 数据库性能问题的分析与解决,Oracle数据库故障分析,Oracle数据库升级迁移。
数据和云
2018/12/24
1K0
db file sequential read等待事件
最近某个应用的AWR中总显示“db file sequential read“等待事件位于top 5之首,下面检索下MOS关于这个等待事件的说明。
bisal
2019/01/29
1.3K0
"log file sync"等待事件-1
“log file sync”是等待事件中非常常见的一种,他排在AWR的top5中有时是正常情况,有时则需要格外注意。昨天也听了一次Oracle的网络研讨会,介绍的是AWR相关的分析,从中学习到最重要的一点,就是对于AWR报告中若干信息的判断不能独立地看,需要综合起来,一个参数值大,不一定代表有问题,也可能是正常的,需要具体问题具体分析,其实和日常生活是一样的,头疼,不一定是感冒,也可能是缺少睡眠。
bisal
2022/12/01
4230
单线程事件处理器ControllerEventManager
单线程事件处理器,Controller端定义的一个组件。该组件内置了一个专属线程,负责处理其他线程发送过来的Controller事件。还定义了一些管理方法,为专属线程输送待处理事件。
JavaEdge
2023/02/13
3680
单线程事件处理器ControllerEventManager
java并发编程学习:如何等待多个线程执行完成后再继续后续处理(synchronized、join、FutureTask、CyclicBarrier)
多线程应用中,经常会遇到这种场景:后面的处理,依赖前面的N个线程的处理结果,必须等前面的线程执行完毕后,后面的代码才允许执行。
菩提树下的杨过
2018/09/20
3.6K0
Kubernetes等待部署完成 kubectl wait rollout
使用kubectl apply或者create命令创建/更新部署后,其pod需要时间完成创建/更新。 如果在CI中不等待所有pod更新完成,下一步流程很有可能使用更新前的环境。
py3study
2021/02/04
1.4K0
[AWR报告]SQL*Net message to dblink等待事件
这个等待事件发生在会话在等待一个远程数据库一个确认信息,确认其发送的数据远程数据库是否收到,该数据通过dblink发送
bsbforever
2020/08/19
9840
[AWR报告]log file parallel write等待事件
上节我们介绍了log file sync 等待事件,知道其发生在LGWR 进程将log buffer 内容写入redo log时产生
bsbforever
2020/08/19
1.3K0

相似问题

如何在JavaFX应用程序内部等待JFrame线程完成?

141

使JavaFX应用程序线程等待另一个线程完成

22

C#应用程序是否等待线程完成?

12

主线程是否等待子线程完成?

17

JavaFX -等待任务完成

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档