在做项目的时候,一直对JobEvent有个疑惑。感觉两者是相同的东西,搞不清楚两者的区别在哪里!经过一段时间的琢磨和查找了相关的资料,对JobEvent做了一些总结,以便记忆。

Job

Job既可以用作同步,也可以用作异步。
如果你想延迟执行一个操作,或者这个过程需要花费一段时间,那么就可以选择用Job,例如上传一个比较大的文件。
Job一般用在正在处理的事情。比如我们去银行办理业务,很多人排队等待,我们可以把这条队看成一个队列queue,把每一个人看成一个Job,服务人员会帮我们一个接一个的处理业务。办完了一个业务,系统会叫号叫到下一个人,执行下一个Job。每个人需要办理的业务都不一样,这就是每个Job需要完成的任务。

Event

事件监听可以允许参与不同的角色。事件监听可以认为是特定事件发生的一个Job,一旦事件创建,监听器就会触发。事件可以理解成“当...”,“就...”。 一个事件可以被多个监听器监听,比如登录后,系统既要发送邮件,又要发送短信,这个时候,就可以建立一个登录事件,事件触发后,同事被发送邮件和发送短信监听到。

Job可以不间断的执行,类似于我们要在每晚凌晨执行一个脚本。

总结来说

Job关注与正在做的事情:

  • 正在注册
  • 正在更新
  • 正在发布
  • 批量发放

Event关注与做过的事情:

  • 注册完成
  • 更新完成
  • 发布完成
  • 发送完成

Event 更多的用在已经完成的事情,类似于英语的过去式

原文地址:https://segmentfault.com/a/1190000016147268

最新文章

  1. Runnable和Thread
  2. MOOCULUS微积分-2: 数列与级数学习笔记 1. Sequences
  3. mysql的时间转化
  4. 在Apache下发布ASP.NET程序
  5. string.Equals 比较2个字符串是否相同忽略大小写
  6. Channel 详解
  7. 状态栏通知Notification的简单使用
  8. PullToRefresh下拉刷新 加载更多 详解 +示例
  9. spark基本概念
  10. 半透明panel
  11. XSS漏洞解决方案之一:过滤器
  12. 乐在其中设计模式(C#) - 单例模式(Singleton Pattern)
  13. ngx_http_core_module模块提供的变量
  14. Vue 犯罪指南:TypeError: Right-hand side of 'instanceof' is not an object
  15. MongDB配置方法
  16. c# 导出表格
  17. NanoPC-T2制作刷机包
  18. Android中Adapter总结
  19. git设置ss代理
  20. Poor Warehouse Keeper

热门文章

  1. double x = 10 ,y = 0;y = x % 2; 这个表达式正确吗?
  2. 阻尼滑动--能够滑动过度的ScrollView(OverScrollView)
  3. ExecutorCompletionService原理具体解释
  4. python 005 正则表达式
  5. WPF学习笔记——DataContext 与 ItemSource
  6. POJ - 3281 Dining(拆点+最大网络流)
  7. poj 2763(在线LCA+树状数组)
  8. Windows<小白>详细笔记
  9. Win10切换JDK版本
  10. Java学习笔记之从C++转Java