小编lan*_*ngm的帖子

组合guava eventbus和AWT Event线程处理的最佳方法

当你有一个异步事件总线和fire事件时,让我们说在UI中捕获的模型中你可能有以下问题:

已注册的处理程序在工作线程中执行,但所有UI swing更改都需要在AWT事件线程中执行.这意味着您需要将所有处理程序clode包含在内EventQueue.invokeLater(...).

这看起来像很多锅炉板代码.我想知道是否有更智能的解决方案来解决这个问题.

guava事件总线的扩展如何标记在特殊线程中执行的处理程序?这可以用注释标记,例如@ExecuteWithinEDT:

class EventBusChangeRecorder {
  @Subscribe @ExecuteWithinEDT void recordCustomerChange(ChangeEvent e) {
    recordChange(e.getChange());
  }
}
Run Code Online (Sandbox Code Playgroud)

java awt guava

11
推荐指数
2
解决办法
1650
查看次数

标签 统计

awt ×1

guava ×1

java ×1