同步:调用方法时,只要方法没有执行完,就不会把 “方法运行的结果“ “返回给调用者”。
异步:调用方法,直接“返回给调用者”,但是此时调用者没有获取方法的执行结果,方法在自己执行完后,会通过回调函数的方法通知调用者,自己的运行结果。
阻塞:是说线程在执行这个方法的时候,被挂起,不能在执行别的操作。
非阻塞:线程在执行这个方法时,没有被挂起,还可以执行别的方法。
总体来说:
同步/异步描述的是被调用者执行的过程,是先给调用者回应,再去执行(异步);还是先去执行,执行完再给回复(同步)。
阻塞和非阻塞描述的是调用者在等待方法结果的过程中,是一直等待,啥事也不做(阻塞),还是不等,直接去做别的事情,然后通过回调函数获取方法的执行结果(非阻塞)。