当前位置: 首页 > news >正文

Guava之EventBus源码分析

简介

事件总线。

有助于深入理解代码的功能和实现细节。

可以了解代码背后的逻辑、算法、数据结构和设计模式等方面,从而更好地理解代码的作用和功能。

可以学习到业界的最佳实践和设计模式。

这有助于提高自己的编程水平,使你能够编写更高质量、可扩展性和可维护性的代码。

代码结构

包:

com.google.common.eventbus

类:

文件类型描述
AllowConcurrentEvents注解
AsyncEventBus异步事件总线
DeadEvent无订阅事件
Dispatcher抽象类

分发器,有三种:PerThreadQueuedDispatcher

LegacyAsyncDispatcher

ImmediateDispatcher

EventBus同步事件总线
Subscribe注解事件订阅注解
Subscriber订阅者
SubscriberExceptionContext订阅异常上下文
SubscriberExceptionHandler接口订阅异常处理器
SubscriberRegistry单个事件总线的订阅者的注册

设计模式

观察者模式

发布订阅模式

核心类

分发器

1、PerThreadQueuedDispatcher

同步分发器

执行器

MoreExecutors.directExecutor()

2、LegacyAsyncDispatcher

异步分发器

执行器

自定义线程池

http://www.lryc.cn/news/321483.html

相关文章:

  • Spark on Yarn安装配置
  • Debezium日常分享系列之:Debezium 2.5.3.Final发布
  • elment-ui el-tabs组件 每次点击后 created方法都会执行2次
  • sheng的学习笔记-AI-Network in Network(NIN)和1*1卷积
  • 【靶机测试--PHOTOGRAPHER: 1【php提权】】
  • LeetCode每日一题——删除有序数组中的重复项
  • 元宇宙VR数字化艺术展降低办展成本
  • 聚类分析 | Matlab实现基于PCA+DBO+K-means的数据聚类可视化
  • 使用 git 先提交后拉取的时候远程分支不允许问题
  • Unity 创建快捷方式开机自动启动
  • 什么是docker(docker客户端、镜像、容器、仓库)
  • [Python人工智能] 四十三.命名实体识别 (4)利用bert4keras构建Bert+BiLSTM-CRF实体识别模型
  • Android Framework开发之Linux +Vim命令
  • MySQL 索引的10 个核心要点
  • MaixSense-A010 接入 ROS
  • 使用WordPress在US Domain Center上建立招聘网站的详细教程
  • C++:类和对象(上篇)
  • 氧化铝电容的工艺结构原理及选型参数总结
  • 野火ESP8266模块开发-基于Arduino IDE
  • [Qt学习笔记]Qt实现自定义控件SwitchButton开关按钮
  • 【工具】mac 环境配置
  • 【前端寻宝之路】学习和总结HTML的标签属性
  • kafka2.x版本配置SSL进行加密和身份验证
  • Linux和Windows下的文件批量重命名
  • stm32之GPIO电路介绍
  • Unity Toggle处理状态变化事件
  • UE5.1 iClone8 正确导入角色骨骼与动作
  • FFmpeg-- c++实现:pcm和yuv编码
  • 图解CodeWhisperer的安装使用
  • Python内置对象