当前位置: 首页 > news >正文

同步 异步 阻塞 非阻塞

同步:在同步操作中,调用者必须等待操作完成才能继续后续代码。即执行流程是线性的,后续操作会阻塞,直到当前操作完成。举例:在一个同步网络请求的时候,客户端向服务器发送请求后会等待服务器响应,然后再继续执行后续的代码。

异步:在异步操作中,调用者可以在操作执行期间继续执行其他代码,而不用等待操作完成。操作完成后会通过回调函数,事件或者其他机制通知调用者。举例:在一个异步网络请求的时候,客户端发送请求后立刻继续执行其他代码,当服务器响应时,通过回调函数处理响应数据。

阻塞:阻塞操作会使调用者在操作完成之前无法继续执行其他操作。调用者被挂起,直到操作完成。举例:在阻塞IO操作中,如果程序在等待数据从磁盘中读取完成之前,无法进行其他操作。

非阻塞:非阻塞操作允许调用者在操作尚未完成时继续执行其他任务。调用者不会被挂起,通畅需要轮询或事件通知机制来检查操作状态。举例:在非阻塞式IO操作中,程序可以继续执行其他任务,即使数据还没有从磁盘读取完成。可以通过轮询或事件机制来检查数据是否准备好。


http://www.mrgr.cn/news/25546.html

相关文章:

  • [GYCTF2020]Blacklist1
  • 深入探索 Ubuntu:从基础到高级应用
  • Lesson08---string类(3)
  • 第二期: 第四节, 裸机编程 LED 汇编代码。
  • 质量小议45 - 粒度
  • 2024.9.12
  • 企业数字化转型、建设和升级面临的主要难题和解决之道(2)
  • 书接上文,介绍下Quartz Java体系结构
  • 【自用25.1】C++-智能交友系统项目
  • Java【内部类】
  • 【在Linux世界中追寻伟大的One Piece】五种IO模型和阻塞IO
  • DRW的公式推导及代码解析
  • 维护左右边第一个小的值(滑动窗口)
  • 多态的概念
  • 终端文件管理神器 !!!【送源码】
  • Keras中MinMaxNorm约束的具体计算逻辑和方法解密
  • mysql学习教程,从入门到精通,SQL AND OR 运算符(12)
  • 【C++ Primer Plus习题】15.4
  • 二叉树--
  • 【阿一网络安全】如何让你的密码更安全?(三) - 散列函数