线程中的临界区是什么?

2024-03-21

请有人能举例简单地告诉我临界区的含义是什么?用简单的语言


A 临界区 http://en.wikipedia.org/wiki/Critical_section是需要在没有外部干扰的情况下执行的代码部分 - 即没有其他线程可能影响该部分内的“中间”状态/受到该部分内的“中间”状态的影响。

例如,预订系统在预订某些物品时可能有一个关键部分,因为它需要检查该物品是否可用,然后将其标记为不再可用,而无需尝试其他预订房间来更改该状态中间。

因此,一段代码的关键部分是一次只允许一个执行线程的地方,以防止诸如竞争条件之类的情况。

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

线程中的临界区是什么? 的相关文章

  • SwingUtilities.invokeLater

    我的问题与SwingUtilities invokeLater 我应该什么时候使用它 每次需要更新 GUI 组件时都必须使用吗 它到底有什么作用 是否有替代方案 因为它听起来不直观并且添加了看似不必要的代码 Do I have to use
  • 为什么在谈论线程和进程时,“不要同时格式化软盘”的评论很有趣?

    我正在阅读之间的区别线程和进程 https stackoverflow com questions 200469 what is the difference between a process and a thread并在第二个答案中发现
  • 线程池,C++

    我正在使用 C 开发一个网络程序 我想实现一个 pthread 池 每当我从接收套接字接收到一个事件时 我都会将数据放入线程池中的队列中 我正在考虑创建 5 个独立的线程 并将持续检查队列以查看是否有任何传入数据需要完成 这是一个非常简单的
  • C#中为线程指定特殊的cpu

    我有 2 个线程 我想告诉其中一个在第一个 cpu 上运行 第二个在第二个 cpu 上运行 例如在具有两个 cpu 的机器中 我怎样才能做到这一点 这是我的代码 UCI UCIMain new UCI Thread UCIThread ne
  • 理解 JavaScript 的单线程本质

    我一直在阅读 John Resig 的 JavaScript Ninja 的秘密 它解释了 JavaScript 是单线程的 但是 我尝试对此进行测试 但我不确定要从这里删除什么 executing this in browser func
  • 将数据从一个线程传递到另一个线程的最快可能方法

    我正在使用增强spsc queue将我的东西从一个线程移动到另一个线程 这是我的软件中的关键位置之一 所以我想尽快完成它 我写了这个测试程序 include
  • 通过推送通知唤醒

    Suppose 有一些对象 例如 一个数组a 和依赖于对象的条件 例如 a empty 当前线程以外的某些线程可以操作该对象 a 因此条件评估值的真实性会随着时间的推移而变化 如何让当前线程在代码中的某个时刻休眠 并在条件满足时通过推送通知
  • 如何限制Erlang VM(BEAM)使用的核心数量?

    我正在具有 2 个四核 Xeon E5520 2 2GHz 24 0GB RAM 和 Erlang R15B02 启用 SMP 的节点上运行实验 我想知道是否可以限制Erlang VM使用的核心数量 以便我可以暂时禁用一些核心并逐步增加数量
  • 张量流和线程

    下面是来自 Tensorflow 网站的简单 mnist 教程 即单层 softmax 我尝试通过多线程训练步骤对其进行扩展 from tensorflow examples tutorials mnist import input dat
  • 使我的 COM 程序集调用异步

    我刚刚 赢得 了在当前工作中维护用 C 编码的遗留库的特权 这个dll 公开使用 Uniface 构建的大型遗留系统的方法 除了调用 COM 对象之外别无选择 充当此遗留系统与另一个系统的 API 之间的链接 在某些情况下 使用 WinFo
  • C# WinForms:使用一个或多个附加线程进行绘图。如何?

    如果我有一张包含各种几何形式 直线 矩形 圆形等 的大图 线程需要花费大量时间来绘制所有内容 但在现实生活中 一栋建筑是由不止一名工人建造的 因此 如果绘图是建筑物而线程是构建者 则绘制速度会快得多 但我想知道怎么做 你能告诉我怎么做吗 有
  • 调试 Java InterruptedException,即查找原因

    在调试Android应用程序时 有时中断异常发生并使应用程序崩溃 我已经能够在默认异常处理程序上设置断点 但调用堆栈不提供信息 at java util concurrent locks AbstractQueuedSynchronizer
  • PyQt5:如何使QThread返回数据到主线程

    I am a PyQt 5 4 1 1初学者 我的Python是3 4 3 这是我尝试遵循的many https mayaposch wordpress com 2011 11 01 how to really truly use qthr
  • 奇怪的跨线程 UI 错误

    我正在编写一个 WinForms 应用程序 它有两种模式 控制台或 GUI 同一解决方案中的三个项目 一个用于控制台应用程序 一个用于 UI 表单 第三个用于保存两个界面也将连接的逻辑 控制台应用程序运行绝对流畅 保存用户选择的模型 它有一
  • 在不支持线程的程序加载的共享库中使用 C++11 多线程

    我目前正在尝试在共享库中使用 C 11 多线程 该库加载到 Linux 上的主程序 用 C 编写 中 这是一个大型模拟程序的一部分 我无法更改有关库加载的任何内容或更改一般的主程序 主程序是用 gcc 4 1 2 编译的 我没有它的源代码
  • 当客户端关闭连接时,Spring StreamingResponseBody 请求线程未清理

    我在控制器中有一个端点 它返回一个StreamingResponseBody 用于向客户端发送文件 其代码大致如下 RestController RequestMapping value api public class Controlle
  • Meteor.setTimeout 和 Meteor.methods 之间的并发

    在我的 Meteor 应用程序中实现回合制多人游戏服务器 客户端通过发布 订阅接收游戏状态 并且可以调用 Meteor 方法sendTurn将回合数据发送到服务器 他们无法直接更新游戏状态集合 var endRound function g
  • 线程睡眠和Windows服务

    我正在开发一个 Windows 服务 该服务存在一些问题Thread Sleep 所以我想我会尝试使用计时器 因为这个问题建议 在 Windows 服务中使用 Thread Sleep https stackoverflow com que
  • 调用线程无法访问该对象,因为另一个线程拥有它

    我已经阅读了很多关于此错误的帖子 但我不明白如何在我的解决方案中解决它 我有一个进度条对话框 其中包含一些逻辑 通过按钮单击从 MainFrame 调用 void OnBtnClick object sender RoutedEventAr
  • ThreadPool.SetMinThreads 不创建任何新线程

    我想弄清楚到底有什么影响ThreadPool SetMinThreads makes 根据官方文档 https learn microsoft com en us dotnet api system threading threadpool

随机推荐

  • 扩展 AbstractAnnotationConfigDispatcherServletInitializer 时的 getServletConfigClasses() 与 getRootConfigClasses()

    有什么区别getServletConfigClasses vs getRootConfigClasses 延伸时AbstractAnnotationConfigDispatcherServletInitializer 从今天早上开始我已经阅
  • 管理中自定义 Magento 配置出现 404 错误

    我正在 Magento 1 6 中开发自定义 SMS 模块 我已经设置了system xml文件来管理相关的自定义配置字段 菜单条目显示出来 但当我单击它时 会显示 404 错误页面 而不是预期的配置字段列表 你能看到我的代码中有任何错误吗
  • 如何在 iPhone 应用程序中实现密码恢复?

    我想在我正在开发的 iPhone 应用程序中添加简单的密码保护 我可能会使用 crypt 将密码存储在我的数据库中 该数据库采用 CoreData sqlite 格式 我认为我对如何创建和存储密码有很好的了解 但如果用户忘记密码 我想添加密
  • do-while 循环的目的是什么? [复制]

    这个问题在这里已经有答案了 我知道 do 的作用 以及它如何与 while 循环配合 但是无论 do 是否存在 while 循环代码不会相同吗 考虑以下 while condition myFunction and do myFunctio
  • 在 NodeJS 中,如何将 HTTP 请求包装到 Promise 中?

    NodeJS 6 9 3 我编写了一个简单的 NodeJS 应用程序 它发出如下所示的请求 var http request require request http request method GET uri https search
  • 持续检测互联网连接

    我希望我的应用程序能够自动检测互联网连接丢失 所以我使用以下代码 void applicationDidBecomeActive UIApplication application Reachability networkReachabil
  • 跟踪未登录的用户

    是否可以在不使用会话或 cookie 的情况下跟踪未登录的用户 有没有更靠谱的方法呢 就像www filefactory com或其他类似的下载空间网站一样 他们可以跟踪您是否是免费用户并发送下载请求 在开始下一次下载之前您必须等待x次 我
  • 如何使用R表函数获取比例? [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个犯罪数据集 其中变量很少 如 ID Year Date Arrest 现在我试图获取特定年份中逮捕的比例 例如多
  • 检查数组中的值

    我需要检查数组以查看用户输入是否已存在 并显示一条消息以确定用户输入是否存在 第一部分正在工作 但我尝试创建一种单词检查方法 我不确定我是否走在正确的道路上 干杯 import java util Scanner public class
  • 如何检测文本文档之间的重复项并返回重复项的相似度?

    我正在编写一个爬虫来从某个网站获取内容 但是内容可以重复 我想要 以避免这种情况 所以我需要一个函数可以在两个文本之间返回相同的百分比来检测两个可能重复的内容示例 文本 1 我正在编写一个爬虫 文本2 我正在编写一些文本爬虫来获取 比较函数
  • 为什么同一类的对象可以访问彼此的私有数据?

    为什么同一类的对象可以访问彼此的私有数据 class TrivialClass public TrivialClass const std string data mData data const std string getData co
  • React Navigator StackNavigator:从同一场景调用两次时 goBack 不起作用

    假设我想实现一个具有目录结构的文件浏览器 我创建了一个 React Native 组件 它列出了特定文件夹的文件和目录 当我单击一个文件夹时 我希望进入新文件夹并列出其文件和文件夹 显然 我希望能够使用相同的 React 组件来渲染不同的文
  • 使用嵌套属性的 Rails 中多对多关系的下拉菜单

    我通过多对多关联有三个表 超市 产品和供应 每个超市可以存放多种产品 每种产品可以在多个超市销售 该关联是通过供应模型建立的 超级市场 class Supermarket lt ActiveRecord Base attr accessib
  • FTP 传入监控(上传时)

    我们有大约 100 个用户通过 FTP 登录并上传文件 我们的在线系统 PHP 应该显示刚刚上传的项目 我不想继续检查所有不同的 FTP 文件夹来检查新文件 在不降低服务器速度的情况下 使用 PHP 检查新文件的最佳方法是什么 所有用户都在
  • iOS6 在非越狱设备上切换 WiFi

    我正在开发一个内部 iOS 应用程序 不适用于苹果商店 所以我很乐意使用私有 API 并且我希望能够以编程方式打开或关闭 wifi 我想要这样做的原因是 对于某些 WiFi 路由器 每当互联网连接中断时 iPad 就无法恢复 WiFi 不过
  • 为什么下面的结果是零? [复制]

    这个问题在这里已经有答案了 下面的每个 print 语句都会产生 0 0 var c Double 0 0 let a Int 1 let b Int 5 print a b Double a b 100 c Double a b 100
  • 为什么 Ruby on Rails 弃用脚手架方法

    我正在学习 Ruby on Rails 所以我相信我迟早会发现这一点 为什么在 Rails 版本 2 中不推荐使用脚手架方法 脚手架方法违背了脚手架的精神 脚手架的目的是为您提供一个起点 您应该在此基础上根据自己的需求进行构建 通过动态生成
  • 缩小的单个捆绑包与通过 http/2 的多个文件

    对于 CSS 和 JS 捆绑 一般建议是什么 是将所有内容捆绑到一个文件中更好 还是提供多个文件更好 我个人认为多个文件更好 尤其是使用 http 2 但是捆绑有很好的理由 当所有内容都在一个文件中时 缩小和 gzip 会产生更好的结果 因
  • Ruby on Rails 中的“分配”有什么作用?

    我目前正在尝试学习Ruby on Rails和测试框架RSpec 什么是assigns在这个 RSpec 测试中做什么 describe GET index do it assigns all mymodel as mymodel do m
  • 线程中的临界区是什么?

    请有人能举例简单地告诉我临界区的含义是什么 用简单的语言 A 临界区 http en wikipedia org wiki Critical section是需要在没有外部干扰的情况下执行的代码部分 即没有其他线程可能影响该部分内的 中间