是否可以转储(计数)事件调度线程上的当前内容?

时间:2019-07-18 18:57:40

标签: java swing event-dispatch-thread

使用相当复杂的应用程序,似乎更新Windows会有延迟。

添加调试和计时器后,Timecheck 1和Timecheck 2之间最多相差0.5秒,这在绘制时实际上是非常明显的延迟。

userinput

“ myFunctionCall(myData);”调用已从invokeLater()中删除,并且延迟消失了。

这告诉我,EDT中发生了很多事情,呼叫基本上已经排队,并且花了一些时间才能到达。

这个假设正确吗?

如果是,那么有没有办法在拨打电话之前检查EDT上的内容?

看到那里有什么电话,可能会导致我过度使用EDT,或者可能看到EDT是否太忙,可以直接拨打System.out.println("Timecheck 1 : " + new SimpleDateFormat("HH.mm.ss.SSS").format(new Date())); javax.swing.SwingUtilities.invokeLater(new Runnable() { public void run() { System.out.println("Timecheck 2 : " + new SimpleDateFormat("HH.mm.ss.SSS").format(new Date())); myFunctionCall(myData); } }); 的电话。

如果太忙了,也许我会直接调用它,并且仅在通话量很少的情况下才使用EDT。

0 个答案:

没有答案