关于同步异步阻塞非阻塞的理解(摘自)

摘自:https://www.cnblogs.com/xcywt/p/8146123.html


比如我在线程A中调用了fun()函数。
同步/异步:针对的被调用者的状态。也就是fun函数。(也就是上面的烧水壶)
同步是指fun如果没有结果就不会返回,除非有结果了。
异步是指fun在被调用之后就立即返回了。返回结果之后再通知调用者(可以用信号、回调之类的实现)。

阻塞/非阻塞:主要是针对调用者的,是指程序在等待结果时的状态。(也就是上面的老张在等水开时的状态)
阻塞是指调用线程会被挂起,不做什么别的事情。在得到结果之后才会返回。
非阻塞是指不能立即得到结果,当前线程不会被挂起,还可以做别的事情。

原文地址:https://www.cnblogs.com/sung1024/p/11454354.html