阻塞 、非阻塞 同步、异步 的解释

阻塞 、非阻塞 同步、异步 的解释

从纸面来理解会更好

应用程序调用,如果一直在等着内核处理完再返回结果进行读写,那么就是同步。如果会自动通知,那就是异步。所以可以说本质是消息通信机制

就像做一件事,如果要等待,那就是同步,或者要轮训,如果在等待的时候不能做其他的事,就是阻塞。反之是非阻塞。

 

更专业的解释,其实应该结合io来解释。

同步和异步,当调用方等待io处理消息结果的返回就是同步,反之如果是直接返回,然后通过轮训或者异步回调获取io的结果那就是异步。侧重于消息通知机制。(这里如果用epoll的例子来说又说不通。所以当做面试来说就行)

阻塞和非阻塞,当等待io处理消息返回的时候,有没有挂起cpu让出时间片,根据这种行为来判断。侧重于等待消息的行为。

 

你可能感兴趣的:(其他)