推荐阅读:
https://www.zhihu.com/question/19732473
总结:
说白了,同步和异步关心的是消息机制,同步一般会等到处理A任务的返回,再进行A任务后续的流程。异步一般会存在一个回调函数,直接进行A任务后续流程,等待回调函数接收处理结果。
阻塞非阻塞关心的是线程状态,阻塞情况下,线程挂起,等待接收到处理结果再重新运行。而非阻塞则是不管A任务怎么样,他仍然可以处理B任务。
同步非阻塞是他处理B任务的同时也要时刻等待A任务或者按照一定的时间间隔来接收A任务的状态,异步非阻塞就是直接处理B任务即可,回调函数会自动接收A任务的处理状态并通知给线程。