在作项目的时候,一直对Job
和Event
有个疑惑。感受二者是相同的东西,搞不清楚二者的区别在哪里!通过一段时间的琢磨和查找了相关的资料,对Job
和Event
作了一些总结,以便记忆。异步
Job
既能够用做同步,也能够用做异步。
若是你想延迟执行一个操做,或者这个过程须要花费一段时间,那么就能够选择用Job
,例如上传一个比较大的文件。Job
通常用在正在处理的事情。好比咱们去银行办理业务,不少人排队等待,咱们能够把这条队当作一个队列queue
,把每个人当作一个Job
,服务人员会帮咱们一个接一个的处理业务。办完了一个业务,系统会叫号叫到下一我的,执行下一个Job
。每一个人须要办理的业务都不同,这就是每一个Job
须要完成的任务。code
事件监听能够容许参与不一样的角色。事件监听能够认为是特定事件发生的一个Job
,一旦事件建立,监听器就会触发。事件能够理解成“当...”,“就...”。 一个事件能够被多个监听器监听,好比登陆后,系统既要发送邮件,又要发送短信,这个时候,就能够创建一个登陆事件,事件触发后,同事被发送邮件和发送短信监听到。队列
Job
能够不间断的执行,相似于咱们要在每晚凌晨执行一个脚本。事件
Job
关注与正在作的事情:同步
Event
关注与作过的事情:登录
Event
更多的用在已经完成的事情,相似于英语的过去式事件监听