- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
MSDN 文档中提到“exitContext” bool 参数:
true to exit and reacquire the synchronization domain for the context (if in a synchronized context) before the wait; otherwise, false.
我不听。假设我已经了解pulse and wait,谁能对这个参数给出一个手 Handlebars 的解释?其使用的实际示例将非常有值(value)。
最佳答案
这是 .net 框架中一个非常古老的缺陷;只需传递 false 并继续。
他们所指的“上下文”是远程处理上下文。您可以通过在 MSDN 中查找 ContextBoundObject 来尝试了解该概念;这将引导您找到各种有趣的东西。在 CLR 设计的某一时刻,这些“对象上下文”比它们最终实际重要得多;许多人一开始就忘记了它们的存在,而大多数人遇到过的与 CBO 有任何关系的唯一 API 是 Monitor.Wait。
所以只需传入 false 并继续。 :)
如果你愿意,我们可以更深入......
有一种将这些对象上下文之一配置为“同步”的概念。事实证明,在 CLR 中,每个线程都有一个与之关联的逻辑调用上下文。当您使用远程处理进行方法调用时,此逻辑调用上下文将随调用一起传递,以便远程处理边界另一侧的 CLR 可以将处理请求的线程视为逻辑上相同的线程。如果被调用的对象(位于远程处理边界另一侧的对象)回调原始对象,则第二次调用可能在不同的物理线程上进行。但是,由于逻辑调用上下文与远程调用一起流动,因此第二个物理线程可以重新进入“同步”上下文。
这里要写一个这样的例子太复杂了。我可以按需为您写一篇,但是...
这是 .net 框架中一个非常古老的缺陷;只是传递错误并继续前进。 :)
关于c# - Monitor.Wait 和 "exitContext"参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4414676/
MSDN 文档中提到“exitContext” bool 参数: true to exit and reacquire the synchronization domain for the conte
例子 System.Threading.AutoResetEvent e = new System.Threading.AutoResetEvent(false); bool b = e.WaitOn
我是一名优秀的程序员,十分优秀!