Получение ссылки на поток рендеринга, чтобы обеспечить потокобезопасный доступ к данным - PullRequest
2 голосов
/ 10 октября 2011

Недавно у меня возникли проблемы, связанные с использованием нескольких потоков и совместным доступом к свойствам, связанным с элементами управления WPF.Эти сбои, как правило, происходят в случайных местах во времени, но могут быть реплицированы с постоянством.

Так что я хотел попытаться сделать потокобезопасный доступ к данным для классов, которые связаны с элементами управления WPF, получить ссылкудиспетчеру потоков рендеринга и убедитесь, что в моих моделях представлений этот диспетчер используется для доступа к их свойствам.

Является ли эта концепция обоснованной?Позволит ли это доступ к данным, связанным с моими элементами управления, для доступа из других потоков?(под обращением я имею в виду получить / установить).

Как получить ссылку на поток рендеринга?Могу ли я просто получить ссылку на поток, который создает экземпляр класса App?

Спасибо, Алекс.

1 Ответ

2 голосов
/ 10 октября 2011

Насколько я знаю, я думаю, Application.Current.Dispatcher будет всегда даст вам диспетчер UI, поэтому действительно не нужно иметь специальный код для доступа к данным.диспетчер ставок (который должен быть самим диспетчером пользовательского интерфейса).

...