AFAIK, при использовании WPF, то SynchronizationContext.Current
объект типа DispatcherSynchronizationContext
, который на самом деле просто оберткой Dispatcher объекта и методы Post
и Send
просто делегировать Dispatcher.BeginInvoke
и Dispatcher.Invoke
.
Так что, даже если вы решите использовать SynchronizationContext
, я думаю, что вы в конечном итоге вызываете диспетчера за кулисами.
Кроме того, я считаю, что использование SynchronizationContext немного громоздко, поскольку вам необходимо передать ссылку на текущий контекст на все потоки, которые необходимо вызвать в пользовательский интерфейс.
Почему downvote? –