• 笑谈老张烧水(同步、异步、阻塞、非阻塞)


      网络通信过程中的四个概念:同步、异步、阻塞、非阻塞;看了些许文章的解说,发现并不是很明白,其中一个比较风趣的文章是这么写的!

        老张烧水,水壶放到炉子上,然后专心等待水烧开~~~同步阻塞,(老张太傻了)

        老张烧水,水壶放到炉子上,然后去客厅看电视,时不时去看看水有没有烧开~~~同步非阻塞(老张觉得自己变聪明了)

        老张烧水,使用响水壶,水放到炉子上后等待水壶响~~~异步阻塞(老张还是有点傻)

        老张烧水,使用响水壶,水放到炉子上后就去客厅看电视,等待水壶响后提壶~~异步非阻塞(老张觉得自己很聪明)

      文章说的有些道理,但也并不一定对,自行体会感悟吧~

      下面说说个人对同步、异步的理解:

      首先说同步&异步

      就是看调用之后会不会等待,等待就是同步,不等待就是异步;

      阻塞&非阻塞

      这儿的歧义最大,颇有仁者见仁,智者见智的意思;

      一种观点认为:等待过程中,去干别的事情,就是非阻塞,只是专心等待结果就是阻塞;这样看了异步就不存在阻塞问题了

      还有一种观点:需要由发起线程去处理结果的是阻塞(比如:时不时检测有没有结果,也就是发起线程不能结束),由注册回调或者其他部件去处理结果的称为非阻塞。

      

  • 相关阅读:
    升级Visual Studio安装已完成,出现警告
    C# 字符串格式
    C# TimeSpan
    git 手册
    Mac clion 远程调试 linux 服务器进程
    C++ 左值引用和右值引用的用处
    Mac OS 快捷键
    MacPorts Guide
    同步异步阻塞非阻塞
    tcp 简单实现
  • 原文地址:https://www.cnblogs.com/tengpan-cn/p/5807108.html
Copyright © 2020-2023  润新知