问题标签 [eventqueue]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
315 浏览

javascript - setTimeout 和 UIEvent 顺序

如果由于脚本中的某个长时间运行的方法而将一堆 UIEvents 排队,并且在方法 I 结束时,相对于先前排队的事件的处理程序,setTimeout(myfunc, 0)将调用什么顺序?myfunc是否保证在处理所有先前排队的事件后调用它?

0 投票
1 回答
427 浏览

java - Java 类 Eventqueue 究竟做了什么?

在阅读了有关OracleJava类的信息后java.awt.EventQueue,仍然不清楚该类的用途以及您可以用它做什么。有人可以为我解释一下吗。

0 投票
1 回答
259 浏览

javascript - Zk 通知多视图

我正在使用 zk 框架开发一个项目。我有许多用户可以同时使用该应用程序。

如果其中一个更改字段的值并触发@notifychange我想更新所有其他用户的视图。

例如,如果所有用户都在同一页面中

其中一个更改了我想要为其他用户更新标签的值的文本字段的值。

我正在尝试使用,eventQueue但不知道如何实现它。

0 投票
1 回答
200 浏览

listbox - 刷新页面后无法从 EventQueue.subscribe 方法为 Listbox 设置模型

EventQueue.subscribe刷新页面后无法从方法设置模型。

我有两个页面 - 我的主要文件.zul和包含.zul文件。每个 zul 都有单独的控制器。当用户单击listbox包含页面上的并传递客户对象时,我会从包含页面的控制器发布事件。

在我.zul的主页控制器中,我接收事件并检索客户对象。然后,根据它的 id,我向 mainlistbox提供相应的数据。

第一次,它工作正常。我收到事件,获取对象并成功提供带有模型的列表框。但是,当我转到另一个页面并返回时,我得到 NullPointerException。在日志文件中,我注意到会话是相同的,页面被破坏,但桌面还活着。我正在使用 ZK 5.0.10。


org.zkoss.zk.ui.AbstractComponent.getAttachedUiEngine(AbstractComponent.java:387) at org.zkoss.zk.ui.AbstractComponent.smartUpdate(AbstractComponent.java:1487) at org.zkoss.zk.ui.AbstractComponent.smartUpdate( AbstractComponent.java:1462) 在 org.zkoss.zk.ui.AbstractComponent.smartUpdate(AbstractComponent.java:1495) 在 org.zkoss.zul.Listbox.resetDataLoader(Listbox.java:2982) 在 org.zkoss.zul.Listbox .setModel(Listbox.java:2377) 在 com.is.sdbooks.controller.ComposerTest.refreshModel(ComposerTest.java:169) 在 com.is.sdbooks.controller.ComposerTest.onDoubleClick$dataGrid(ComposerTest.java:180) 在sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.zkoss.zk。ui.event.GenericEventListener.onEvent(GenericEventListener.java:81) at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:192) at org.zkoss.zk.ui.impl.EventProcessor.process( EventProcessor.java:138) 在 org.zkoss.zk.ui.event.Events.sendEvent(Events.java:306) 在 org.zkoss.zk.ui.event.Events.sendEvent(Events.java:329) 在 org .zkoss.zk.ui.AbstractComponent$ForwardListener.onEvent(AbstractComponent.java:3052) at org.zkoss.zk.ui.impl.EventProcessor.process0(EventProcessor.java:192) at org.zkoss.zk.ui.impl .EventProcessor.process(EventProcessor.java:138) at org.zkoss.zk.ui.impl.UiEngineImpl.processEvent(UiEngineImpl.java:1626) at org.zkoss.zk.ui.impl.UiEngineImpl.process(UiEngineImpl.java :1410) 在 org.zkoss.zk.ui.impl.UiEngineImpl.execUpdate(UiEngineImpl.java:1134) 在 org.zkoss.zk.au.http.DHtmlUpdateServlet.process(DHtmlUpdateServlet.java:562) 在 org.zkoss.zk.au.http.DHtmlUpdateServlet.doPost(DHtmlUpdateServlet.java:465) 在 javax.servlet.http 的 org.zkoss.zk.au.http.DHtmlUpdateServlet.doGet(DHtmlUpdateServlet.java:457) .HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org. apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve. java:191) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) .StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org .apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run (来源不明)

0 投票
1 回答
1257 浏览

python - python避免事件​​处理线程中的忙等待

如何使用 asyncio 避免来自事件使用者线程的 busy_wait?我有一个主线程,它生成由其他线程处理的事件。我的事件线程有busy_wait,因为它试图查看事件队列中是否有一些项目......

如何使用 asyncio 实现类似于上述代码的功能?

0 投票
0 回答
10 浏览

java - 无法从另一个线程更新 JTextArea

我不确定我在下面的代码中做错了什么。它不允许我从 extraThread 更新 JTextArea。我可以在控制台窗口中看到更新的状态值,但它不适用于 JTextArea。

错误

代码

0 投票
0 回答
23 浏览

java - 如何查找事件队列操作已用时间以及如何查找导致滞后的 UI 操作

在 Java Swing 应用程序中,如何查找哪个事件队列操作导致延迟和冻结 Ui 及其原因。由于可能会调用 invokeLater() 来执行 Ui 操作。有什么办法也可以得到经过的时间。(通过跟踪 eventQueue 例如:像一个类 SampleTrackingUserEvents extends EventQueue{ ... }

作为黄金法则,避免 IO 操作和睡眠,但即使经过 8 小时的长时间运行。用户界面几秒钟无响应。如何查找经过的时间以及导致此问题的 Ui 操作。

需要帮忙。

0 投票
1 回答
492 浏览

javascript - Nodejs 中的非阻塞事件循环

我试图实现一个事件循环。循环的目的很简单:

  1. 如果队列不为空,则令任务为队列中最旧的条目。
  2. 处理任务
  3. 如果,任务产生一个返回值,缓存它。
  4. 检查队列中的任务。
  5. 如果队列不为空,则采用下一个任务作为当前任务上下文。
  6. 将缓存的返回值传递给新任务。

我以以下方式在 Nodejs 中尝试了一个实现:

此实现与事件循环的实现之间的区别如下:

  1. successCallback 可以实例化一个新任务作为其返回,而不是维护一个任务数组,然后将其作为当前任务采用。
  2. 基于处理,任务状态必须改变(或者不改变,如果采用新的挂起任务,其状态为“未处理”)。

我认为问题在于 setImmediate 调用,它无法更改上下文状态,因为当前执行状态永远不会终止,并不断在事件队列中为同一任务添加新调用。

我希望我已经很好地解释了它,并且会感谢一些实施指南,以及我在理解事件队列时可能遇到的任何错误。

谢谢。

0 投票
1 回答
53 浏览

java - 在关闭主 Swing 窗口时,未创建 EventQueue 上的另一个线程

我编写 Java SE 8 桌面应用程序。它有一个 Swing UI。

平台:

  • Eclipse IDE
  • 视窗 10 操作系统

现在,当我关闭主窗口时,按下右上角的“X”,我就有了一个监听器来监听此类事件。

听众在这里:

因此,我使用侦听器来识别窗口关闭事件,当发生这种情况时,我会询问用户是否保存项目(它是数据库上的数据)。

此方法 ( saveUnsavedTmpProject(continueOn);) 会导致另一个窗口,该窗口应该采用保存项目的名称。

现在CountDownLatch强制主窗口保持打开状态,直到用户确认/拒绝将项目保存在另一个面板上。

另一个创建窗口并保存项目的类方法就在这里:

现在,当我运行应用程序时,我没有进入run()方法(并且没有弹出窗口)。但这仅在我仅从上述侦听器访问此方法时才会发生。哪个有CountDownLatch, 似乎它停止了新线程的执行。

当用户确认/拒绝保存项目时,锁存器会倒计时,以便继续执行流程。然而,我在EventQueue.

线程怎么会停止?

0 投票
2 回答
57 浏览

java - 从 EDT (EventQueue) 停止另一个线程

所以我创建了一个带有停止按钮的基本摆动界面,单击它应该停止计数线程。当应用程序启动时,线程实例将分配一个runnable执行计数循环的类并将其记录在控制台中。接口中有一个方法runnable将 volatile 变量设置为 false 应该基本上停止线程,我在停止按钮上调用它,但为什么它不停止循环?这是我的代码。

父容器.java

CountRunnable.java