gpt4 book ai didi

c# - 使用 MarshalByRefObject 有什么副作用吗?

转载 作者:太空狗 更新时间:2023-10-29 22:32:40 25 4
gpt4 key购买 nike

我有一个案例,我必须跨 AppDomains 使用一些类。为了使它们工作,我让它们继承自 MarshalByRefObject。这些类的一切都按预期工作。但是这些类在我们的整个系统中都在使用,而且 99% 的时间这些类只会在一个 AppDomain 中使用。在单个 AppDomain 中使用这些类时,从 MarshalByRefObject 继承是否有任何负面影响?

谢谢,
跳过

最佳答案

当然,MRBO对抖动产生的代码有很大的影响。对类字段的任何访问都会导致调用在 CLR 中实现的辅助方法,而不是调用访问该字段的单个 CPU 指令。

这是不可避免的,只有 CLR 知道对象实际上是代理还是真正的交易。代理需要通过远程调用来模拟一个字段。如果它不是代理,那么您仍然需要为助手调用开销付费,这会慢一个简单的数量级。

这是否真的会对您的代码产生影响是无法预测的,我们在这里谈论的是纳秒级。只有在减速变得明显时,您才需要采取一些措施。

关于c# - 使用 MarshalByRefObject 有什么副作用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18925601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com