【问题标题】:C# What does the "Synchronization" means in "SynchronizationContext"?C#“SynchronizationContext”中的“Synchronization”是什么意思?
【发布时间】:2019-02-06 01:28:03
【问题描述】:

我了解什么是同步上下文,但我只是不明白这个词中的“同步”是什么意思。你有什么想法吗?

谢谢

【问题讨论】:

标签: c# synchronizationcontext


【解决方案1】:

同步或更好的理解让我们首先了解同步这个词的含义。

暂时不要使用字典定义,它会让你感到困惑。取而代之的是一个过于简单的类比:

当我们走路时,我们的双腿是同步的!也就是说,他们 coordinate/cooperate一起完成一项名为 步行。当左脚着地时右脚离开地面 (或正在离开的过程中),当右脚碰到它时 反之亦然。

关键的一点是,双脚都有一个隐含的协调说明 只有当第一个开始时,另一个才会开始(即离开地面) 接地。

所以就线程和共享资源而言。同样的类比也适用。所有线程都想使用一些共享资源(在我们的案例中)。因此,他们需要在那里“协调”资源的使用。

所以当你听到“同步”这个词时,想想coordinate/cooperate这个词。希望你现在明白了。我故意不解释SynchronizationContext,因为你说你已经知道了。

更新:不过,我也应该在这里为您提供一些细节,就类比而言:

希望您现在了解同步的含义!就SynchronizationContext 而言,它只是一个允许您与现有UI 线程资源(主要是UI 组件和那里的状态)进行同步(即协调/合作)的类。这通常实现的方式是将消息放入 UI 线程的队列中,而不是自己直接修改 UI 状态。

免责声明:不要自己尝试走路的类比,我只是在试图弄清楚我的腿synchronization时减掉了2卡路里。

【讨论】:

    猜你喜欢
    • 2013-03-09
    • 2019-09-12
    • 2010-10-12
    • 2016-12-08
    • 2011-07-07
    • 2016-04-19
    • 2015-04-11
    • 2012-04-25
    • 2011-08-25
    相关资源
    最近更新 更多