编程中的“阻塞”是什么意思?

2024-01-29

有人可以提供外行定义和用例吗?


“阻塞”意味着调用者等待,直到被调用者完成其处理。例如,来自套接字的“阻塞读取”会等待,直到有数据返回; “非阻塞”读取不会,它只是返回是否有读取的指示(通常是计数)。

您听到这个术语主要是围绕 API 来访问不一定需要 CPU 关注的资源(例如 I/O)。您还会在多线程中听到它:从线程 A 到线程 B 的调用可能被设计为“阻塞”(阻止线程 A),直到线程 B 达到处理或至少接受请求的相关状态。 (最明显的例子是“join”,它通常意味着“我,线程 A,想要等到线程 B 终止”——在退出多线程程序时使用它。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编程中的“阻塞”是什么意思? 的相关文章

随机推荐

  • 如何在 Perl 中指定包版本?

    我对 5 10 0 之前的文档和更新的文档之间的冲突建议感到有点困惑version http search cpan org dist version模块 Perl 最佳实践 http oreilly com catalog 9780596
  • 如何获得多维数组中的唯一值

    我在溢出和谷歌上做了很多查找 但没有一个结果适合我的具体情况 我有一个名为 holder 的占位符数组 值如下 Array 0 gt Array id gt 1 pid gt 121 uuid gt 1 1 gt Array id gt 2
  • ui:repeat 内的 selectManyCheckbox 集合知道它属于转发器的哪个元素

    我正在使用 JSF 2 开发一个 Web 应用程序 我的网络应用程序除其他外还包含一系列问题 一次提出一个问题 因此一次可以看到一个问题 并且有多个答案 我使用 h selectManyCheckbox 我将问题和可能的答案存储在 Arra
  • 如何使 Bootstrap 4 卡组每行宽度相同?

    我使用卡片组每行显示 4 张卡片 div class row div class card deck div class card img class card img top img adjusted div class card bod
  • 使用 Powershell 的 .csproj 文件中特定节点中的节点列表

    我想寻求一些帮助 因为我完全迷失了 我想检查 csproj 文件特定部分中的节点是否包含正确的数据 在下面的 xml 片段中 我想取回 PropertyGroup 下属于 Debug x64 配置文件的 title 的值 csproj 文件
  • 在 zsh 中安装 npm 后找不到命令

    我在安装时遇到一些问题vows http vowsjs org通过 zsh 中的 npm 这是我得到的 我尝试使用和不使用 g 选项安装它 你知道这里出了什么问题吗 Desktop sauce node demo master npm in
  • 如何显示合并提交中所做更改的差异?

    当我编写一堆代码时 我没有意识到我正处于合并过程中 现在git log p不会向我显示此更改的差异 它作为合并提交自动提交 我怎样才能让它显示在我的日志差异历史记录中 有点令人失望的是 Git 没有向您显示用于合并的补丁 p 部分原因是由
  • 如何正确更改 Microsoft Azure 中的 SSH 端口?

    我有一个基于 Ubuntu 14 04 LTS 的虚拟机 用于测试 而不是生产服务器 Azure 上默认打开默认 SSH 端口 22 我想将其更改为 12131 我编辑了 SSH 配置文件并将端口更改为 12131 然后通过以下方式重新加载
  • 集成陀螺仪和加速度计读数[重复]

    这个问题在这里已经有答案了 可能的重复 结合陀螺仪和加速度计数据 https stackoverflow com questions 1586658 combine gyroscope and accelerometer data 我读过很
  • 使用 Python 查找单词列表的字谜

    假设我有一个字符串列表 例如 car tree boy girl arc 等等 我想在该列表中找到字谜组 在这种情况下 car arc 我尝试编写代码来循环列表并比较字符串对 但如何解释字母可以采用不同顺序的事实 For the speci
  • 从数据库创建 Grails 域类

    我想从现有数据库创建 grails 域类 通常我是从域类创建数据库 现在我需要从现有数据库模式创建它 如果有可用的命令 请帮助我 我遇到了同样的问题 我发现这个 Grails 插件 https web archive org web 201
  • PHP 解析 XML 时出错(RSS 提要)

    我正在使用基于的 PHP 类在这个答案中找到的 https stackoverflow com questions 250679 best way to parse rss atom feeds with php解析五个 RSS 提要 五人
  • 关闭模态视图

    如果我没记错的话 模态视图必须从父视图中消除 而不是从模态视图本身中消除 在我当前的项目中 我有两个模式视图 在第一个中 我将数据传递给父视图 当数据传递到父视图时 执行dismiss 现在 我有另一个模态视图 它不将数据传递给父视图 所以
  • 处理 WebBrowser 控件上的按键事件?

    目前我正在使用一个可以播放的应用程序ppt并在 WebBrowser 控件中闪烁 在 WebBrowser 中 我可以使用隐藏上下文菜单 this IsWebBrowserContextMenuEnabled false 并使用捕获关键事件
  • 如何捕获 Sequelize 连接错误

    如果存在续集连接错误 如何捕获续集连接错误 我尝试做 var connection new Sequelize db uri connection on error function perhaps reconnect here 但显然这不
  • Akka Stream 和 Kamon-Prometheus 不返回任何指标,但加载空页面

    我尝试将 kamon prometheus 与 akka Stream 项目集成 但在http 本地主机 9095 http localhost 9095 它加载一个空页面 在控制台中 我可以看到一条消息 表明指标信息可在http 本地主机
  • 在 Windows 上使用 HDF5 库和 CMake(错误:“无法找到 HDF5”)

    我想在我的 C 程序中使用 HDF5 库 我在Windows 7上使用VS 2010 x64编译器和CMake 3 8 0rc2 我安装的HDF5版本是1 8 10 通过运行官方 安装程序 安装 在我的 CMakeLists 文件中 我添加
  • 如何在 Laravel 中执行 MYSQL 查询?

    我有一个 MYSQL 查询 我想在 laravel 中执行这个查询 select d1 update id from select update id count update id as ct from updates tags wher
  • 为什么 GCC 说“不再支持命名返回值”?

    我不小心将函数定义的左大括号放在 return 语句之后 int id int k return k 但 GCC 回答了一个奇怪的错误消息 错误 不再支持命名返回值 谁能解释一下这个奇怪的功能可能是什么 我从来没有听说过 See here
  • 编程中的“阻塞”是什么意思?

    有人可以提供外行定义和用例吗 阻塞 意味着调用者等待 直到被调用者完成其处理 例如 来自套接字的 阻塞读取 会等待 直到有数据返回 非阻塞 读取不会 它只是返回是否有读取的指示 通常是计数 您听到这个术语主要是围绕 API 来访问不一定需要