java中同步调用、异步调用和回调

1、java中同步调用

  • 理解:解决一个问题,需要按照步骤一步一步的完成。
  • 举例:有甲、乙、丙、丁4人参加400米接力赛,完成比赛,需要甲->乙->丙->丁的交接棒的过程,不能跳过,否则犯规。
  • 说明:这种就是典型的阻塞机制,无论如何,我们只能等待上一个任务的完成,如果上一个任务没有完成,我们只能继续等待,这样造成的问题是,我们会一直在浪费系统资源。

2、java中异步调用

  • 理解:异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的接口)。
  • 举例:公司开发部需要招聘3个高级java开发工程师,这个事情由人事小张(小张是个美女,很值得开发部总监赏识)负责,这个时候,有甲、乙、丙三个人投来简历,人事小张先通知甲过来面试,并不等甲面试结束,人事小张又通知乙过来面试,这个时候,人事小张可能又通知丙过来面试,甲面试结束后,告诉人事小张面试情况(人事需要登记面试情况,并告知老板),同样乙和丙都需要告知人事小张,等甲、乙、丙面试都结束了,人事小张统计面试情况上报老板。
    说明:三个面试(程序)虽然看上去有先后次序,但是3个应聘者的被通知过来参加面试,并不会等待上一个面试的人结束后才通知。也就是我们的代码执行虽然整体上看是依次执行的,但是执行的过程中,我们并不会因为前面的代码没有执行完,而不执行。
    3、java中回调
  • 理解:是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;
  • 举例:有甲、乙、丙、丁4人参加10公里接力马拉松比赛,当抢声响起,比赛开始,这个时候,甲先打电话告诉乙比赛开始了,然后甲再跑;同样乙也可以先打电话给丙,告诉丙比赛开始了,你先跑;
  • 说明:这种就是在函数的参数中带有一个其他函数指针,当需要的时候我们可以通过函数指针名进行调用其他函数,即发送消息到其他函数(调用方称为主函数,被调用方称为回调函数(callback))。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值