Pro请让我知道 WindowsFormsSynchronizationContext 和 DispatcherSynchronizationContext 之间的差异?这些属于 System.Threading 和 System.Windows.Threading 类的剂量!
答案 0 :(得分:5)
WindowsFormsSynchronizationContext - 在Windows窗体中提供同步
DispatcherSynchronizationContext - WPF应用程序使用2个线程。一个线程是用于渲染的后台线程,另一个线程用于UI。因此,其他UI线程无法访问一个线程中的UI元素。因此,微软推出了负责多个UI线程交互的调度程序。
DispatcherObject类提供了两种方法。
CheckAccess:确定调用线程是否可以访问此对象。如果调用线程有权访问此对象,则返回true,否则返回false。
VerifyAccess:如果调用线程无权访问该对象,则抛出InvalidOperationException。
答案 1 :(得分:0)
它位于System.Windows.Forms命名空间中。这为Windows窗体模型提供了同步上下文。
它位于System.Windows.Threading命名空间中,并为WPF模型提供同步上下文
记住 - Winforms和WPF的不同之处在于,WPF是一个用于执行桌面客户端应用程序的新平台,并且在某种程度上“取代”了经典的Winforms模型。
答案 2 :(得分:0)
差异完全在私人实施细节中。它们是每个相关范例SynchronizationContext
的相应实现。从来没有任何理由通过直接类型访问任何一个对象;你应该只需要将它们中的任何一个视为任意SynchronizationContext
。