我需要担心阻塞任务吗?

2024-01-01

我需要在多大程度上担心 .NET 中的阻塞任务?即.NET 任务调度程序如何处理线程池中线程的阻塞和超额订阅?

例如。如果我的任务中有一些 IO,我是否应该始终使用LongRunning暗示?或者任务调度程序启发式处理得更好吗?在C++中有一个Oversubscribe提示它工作得很好,但我在.NET 中没有找到任何等效的东西。


ThreadPool 确实会检测到其中一个线程何时阻塞,并提示它向池中添加另一个线程。因此,如果您阻塞很多,性能很可能不会很糟糕,因为 ThreadPool 会尝试让您的 CPU 核心保持忙碌。

但是,拥有许多阻塞线程可能会带来性能问题,因为它会增加内存消耗并导致更多上下文切换。

此外,此行为可能会导致 IO 性能下降。使用旋转磁盘 (HDD),同时访问多个文件会导致大量查找,这会极大地影响性能。

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

我需要担心阻塞任务吗? 的相关文章

随机推荐

  • 免费 XML 格式化工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 查询返回错误值?

    感谢 zamboni 给我的帮助编写适用于整个数据库而不是表的查询 https stackoverflow com questions 46086616 write a query that applies to an entire db
  • 为什么 redisTemplate.opsForValue().get() 总是不为 null?

    I use Autowired private RedisTemplate redisTemplate and redisTemplate opsForValue get key IDE 给我一个警告 告诉我结果始终不为空 但我看到方法 V
  • 如何暂时禁用 Visual Studio 自动生成的事件?

    All 我已经完成了 GUI 设计阶段 现在我开始为应用程序中的所有控件添加有意义的名称 每次我单击控件更改其名称时 Visual Studio 都会让我发疯 自动生成事件 好吧 只有当我搞砸并双击时才会发生这种情况 但仍然很烦人 有没有办
  • 如何在 SQL 中使用多个 LEFT JOIN?

    sql查询中是否可以使用多个左连接 LEFT JOIN ab ON ab sht cd sht 我想添加一个这样的查询 会起作用吗 LEFT JOIN ab AND aa ON ab sht cd sht AND aa sht cc sht
  • 改变轴样式python

    我正在用 python 绘制一个简单的指数衰减 cos 曲线图 代码如下 代码实际运行没有问题 我只是想知道是否有办法改变python显示图形的方式 而不是像这样被轴包围this https i stack imgur com KBtt4
  • Angularjs 和 Angular 之间的区别[重复]

    这个问题在这里已经有答案了 Angularjs 和 Angular 例如 cli 和版本 之间有什么区别 我想使用 Angular 但我不知道选择其中之一有何区别 我用谷歌搜索但没有明确提及它们之间的差异 AngularJS是第一个版本An
  • 不支持 Last 和 LastOrDefault

    我正在尝试获取列表中的第一个和最后一个值 查询运算符First 受支持 但是Last and LastOrDefault 给出一个错误 我使用的是Last 操作员错误 var purchaseBills db PurchaseBills O
  • 从长度超过 N 个字符的文本中提取单词 - RegEx/Java/Android [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的第一个要求是使用 Java 中的正则表达式从某些文本中提取所有单词 以下代码对我来说非常完美 String words text sp
  • 从android webview中的base64 url​​下载文件

    我正在编写一个 webview 应用程序 在其中我可以从 html 标签 url 下载文件到设备 我可以下载 png jpg pdf 等文件 但是当 url 是 base64 字符串值时我不知道如何下载它 有人可以帮助我实现这一目标吗 例如
  • AS3 setChildIndex 到前面

    有没有办法将特定的 movieClip 发送到舞台上所有其他 movieClip 的前面 我知道 setChildIndex 但我无法找到动态计算顶部位置的方法 您可以使用setChildIndex with numChildren set
  • Google Places API:“place_id”或“id”对于世界上的任何城市来说都是唯一的吗?

    当对某个位置执行自动完成 API 调用时 我请求来自 google 的 JSON 响应 id 和 place id 字符串有什么区别 这两个ID是世界上任何一个城市所独有的吗 谷歌地点是否为世界上的每个城市分配一个ID 例如 Somers
  • Spark 中 IF then ELSE 的等价物

    我早些时候在这里看到过这个问题 并从中吸取了教训 但是 我不确定为什么当我认为它应该起作用时会出现错误 我想在现有 Spark 中创建一个新列DataFrame通过一些规则 这是我写的 iris spark 是具有分类变量 iris spa
  • 如何使用 SSE 将 _m128i 转换为无符号整数?

    我制作了一个用于图像分离的功能 define ARGB COLOR a r g b a lt lt 24 r lt lt 16 g lt lt 8 b inline UINT PosterizeColor const UINT color
  • 如何使用 GQL 使用管理控制台数据存储区查看器插入记录

    是否可以使用 管理 gt 数据存储查看器 在数据存储中插入或更新实体 例如 执行类似的事情 INSERT INTO table VALUES Foo Bar 不适用于 GQL 但可以使用以下命令插入和更新实体数据存储查看器 To INSER
  • Google Calendar API“请求的最短修改时间太早了。”仅仅一天之后

    我的代码使用获取日历事件service events list 具有以下参数 timeMax 2015 11 13T04 12 44 263000Z timeMin 2014 05 17T04 12 44 263000Z updatedMi
  • 在 JSF 中验证类级别 bean 验证约束

    看来JSF 2 0并没有调用 类级别约束 引用自一个所以答案 https stackoverflow com a 9213763 1803692 JSF 2 0 不调用类级别验证约束 从JSF 验证 http www masterthebo
  • 设置 SCSS 颜色变量不起作用

    我想在 SCSS 中定义自己的颜色变量 但是如何定义呢 我检查了这个网站 https htmlcolorcodes com tutorials scss color variables 并做了那里描述的一切 但它不起作用 我已经安装了预处理
  • 在 ASPNET MVC 中通过身份验证提供 iCalendar 文件

    我正在尝试在我的 MVC 应用程序中提供 iCalendar 文件 ics 到目前为止一切正常 我有一部 iPhone 订阅了日历的 URL 但现在我需要为每个用户提供个性化的日历 在 iPhone 上订阅日历时 我可以输入用户名和密码 但
  • 我需要担心阻塞任务吗?

    我需要在多大程度上担心 NET 中的阻塞任务 即 NET 任务调度程序如何处理线程池中线程的阻塞和超额订阅 例如 如果我的任务中有一些 IO 我是否应该始终使用LongRunning暗示 或者任务调度程序启发式处理得更好吗 在C 中有一个O