一、概念
同步
A调用B,B处理直到获得结果,才返回给A。需要调用者一直等待和确认调用结果是否返回,然后继续往下执行。
异步
A调用B,无需等待结果,B通过状态通知A或回调函数来处理。调用结果返回时,会以消息或回调的方式通知调用者。
阻塞
A调用B,A被挂起直到B返回结果给A,才能继续执行。调用结果返回前,当前线程挂起不能够处理其他任务,一直等待调用结果返回。
非阻塞
A调用B,A不会被挂起,A可以执行其他操作。调用结果返回前,当前线程不挂起,可以处理其他任务。
二、两者区别
同步异步是个操作方式,阻塞非阻塞是线程的一种状态。
同步异步指的是被调用者结果返回时通知线程的一种机制,阻塞非阻塞指的是调用结果返回进程前的状态,是挂起还是继续处理其他任务。