gpt4 book ai didi

c# - 哪个更快更有效——begininvoke 还是 synchronisecontext.post?

转载 作者:行者123 更新时间:2023-11-30 14:38:13 24 4
gpt4 key购买 nike

有没有人试图找出 - control.BeginInvoke 或 SynchroniseContext.Post 哪个更快,哪个更高效(创建的对象更少,因此涉及的 GC 更少)?

WPF、C#、.NET 4

我希望得到有实际支持的回答,而不是“我认为”或“我在某处听说”。

干杯

附言我将向几个控件发布大量消息,我希望它最高效和快速(几百次更新/秒)。我知道 .NET 可以处理这个(我以前做过)但现在我希望它尽可能快...

最佳答案

首先,WPF 中没有 Control.BeginInvoke(您想到的是 winforms)。其次,SynchronizationContext 是对当前平台提供的任何同步机制的抽象。对于 WPF,它是 Dispatcher 的抽象。从理论上讲,您为使用抽象而不是直接使用 Dispatcher 付出了很小的代价。但抽象是有充分理由的——有时您需要编写独立于平台的线程同步代码。如果您不这样做,请务必直接使用 Dispatcher

关于c# - 哪个更快更有效——begininvoke 还是 synchronisecontext.post?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8234251/

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