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

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

一、区分同步异步、阻塞非阻塞

同步:
阻塞式调用,调用方必须等待响应方执行完毕才会返回

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

 

异步:

非阻塞式调用,立即返回,调用方无需等待响应方返回实际结果,响应方会通过状态、通知或回调买告知调用方

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

 

阻塞非阻塞

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

同步异步、阻塞非阻塞的理解:

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

二、梳理同步异步的使用场景

同步的使用场景:

1、大多数非异步场景(不用异步,就用同步来调用)
如:百度搜索,客户端同步调用服务端搜索接口,等待服务端实时结果

2、在编排的流程中,必须等待拿到响应结果才能去做下一步操作,且在实时链路中相互之间有串联或关联数据的。
如:电商中商品详情页的查询接口的内部实现

 

 

异步使用场景:

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


三、分清同步异步的优势劣势

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