学习笔记(06):Java并发编程精讲-线程的同步异步,阻塞非阻塞

立即学习:https://edu.csdn.net/course/play/26270/326858?utm_source=blogtoedu

2020.03.01打卡,Java阻塞非阻塞

1.同步概念:阻塞式调用,调用方必须等待响应方执行完毕才返回;

2.异步:非阻塞式调用,立即返回,调用方无需等待响应方返回实际结果,响应方会通过状态、通知或回调来告知调用方;

   使用场景:耗时任务或电商下单链路的非核心链路调用;

3.优缺点对比:

  • 同步优点:可拿实时结果进行处理,上下文信息始终在一个代码块,处理更直观;对错误和异常处理可以实时;
  • 异步优点:不影响主流程的执行,降低响应时间,提高应用性能;及时释放系统资源,如线程占用,让系统做更有价值的事;
  • 同步缺点:耗时的接口响应会影响整个流程的性能;
  • 异步缺点:为保障数据最终一致性,需对账系统去做监控和保障;需更多异步任务去补偿系统间数据一致性;

4.阻塞:调用结果返回之前,当前线程被挂起。调用线程只有在得到结果之后才返回。ServerSocket;

5.非阻塞:非阻塞在不能立刻得到结果前,该调用不会阻塞当前线程,而立即返回;Socket;

6.对比:

  • 同步异步:关注点是得到结果的方式;同步是实时返回结果,异步是通过共享变量、通知或回调来得到结果;
  • 阻塞非阻塞:关注点在程序等待调用结果返回时的状态;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值