В WPF4 Unleashed Адам Натан утверждает:Являются ли классы, наследующие от DispatcherObject потокобезопасными или небезопасными?
классы Большинство WPF вытекают из DispatcherObject и, следовательно, по своей сути поточно-небезопасных.
Professional WPF Программирование утверждает обратное:
DispatcherObject является самым низким классом уровне в рамках иерархии, и потому, что почти все объекты наследуют от него, большинство объектов неотъемлемо резьбовых сейф
MSDN на DispatcherObject:
Только поток, который был создан Диспетчер, может напрямую получить доступ к объекту DispatcherObject . Чтобы получить доступ к DispatcherObject из потока , кроме потока, на котором был создан DispatcherObject, вызовите Invoke или BeginInvoke на Диспетчере, объект DispatcherObject связан с с.
Основываясь на описании MSDN он выглядит WPF4 развязали цитата была либо опечатка или Натан был просто неправильно и Professional WPF Программирование авторы были правы ...
Во всяком случае, классы, наследующие от DispatcherObject неотъемлемо потокобезопасен или по своей сути небезопасен?
EDIT:
MSDN также говорится:
Подклассы DispatcherObject, что необходимо для обеспечения безопасности потоков может сделать это, позвонив VerifyAccess на всех общедоступных методов. Это гарантирует вызывающий поток - это поток, который был создан DispatcherObject .
Это косвенно подтверждает, что WPF4 развязали притязание был точен в конце концов ...
Зависит от вашего определения * thread-safe *. –