c# - ManualResetEvent 处于等待状态时会消耗 cpu 吗?

标签 c# manualresetevent

更具体地说,上下文切换的性能下降是否适用于处于等待状态的线程?

ManualResetEvent 或 WaitHandle 在什么情况下可能会消耗资源?

最佳答案

ManualResetEvent 没有等待状态。唯一可以在 MRE 上等待的是一个线程。是的,当一个线程没有做它应该做的事情时,它会不必要地消耗大量宝贵的资源,即执行代码。一兆字节的虚拟内存和少量内核对象。与 MRE 相比,MRE 消耗的单个内核对象是小菜一碟。

您通常希望改用线程池线程。

并查看 .NET 4.0 中的可用内容。像 ManualResetEventSlim(不基于 OS 对象)和 Task 类。

关于c# - ManualResetEvent 处于等待状态时会消耗 cpu 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9344028/

相关文章:

c# - 如何在 C# 中使用 System.Net.WebClient 上传 GZip 压缩数据

c# - 从模型生成 View 模型?

c# - 更改库中的委托(delegate)签名以省略参数不会破坏使用它的应用程序

c# - 使用 ManualResetEventSlim 而不是 ManualResetEvent 的最短等待时间是多少?

c# - 如何保持 .NET 控制台应用程序运行?

c# - 条件事件等待/ManualResetEvent

c# - 处理 WaitOne 函数卡住的定时器回调

c# - 如何使用 ManualResetEvent 而不卡住我的 UI

c# - .NET/CSS Foreach 复选框独立样式

c# - 使用 GC.AddMemoryPressure() 防止 OutOfMemoryException?