Por que não é possível atualizar um ObservableCollection de um thread diferente?

Em um aplicativo WPF multiencadeado, énão é possivel para atualizar umObservableCollection de um thread que não seja o thread da janela WPF.

eu seiexistem soluções alternativas, então minha pergunta não é como evitar o "Esse tipo de CollectionView não suporta alterações no SourceCollection de um thread diferente do thread do Dispatcher"exceção.

Minha pergunta é,por que existe essa exceção? Por que não foi possível permitir atualizações de coleção de nenhum thread?

Pessoalmente, não vejo motivo para bloquear a atualização da interface do usuário quandoObservableCollection é alterado de outros threads. Se dois encadeamentos (incluindo os paralelos) estiverem acessando o mesmo objeto, um ouvindo alterações nas propriedades do objeto por meio de eventos, o outro fazendo alterações, ele sempre funcionará, pelo menos se os bloqueios forem usados corretamente. Então, quais são as razões?

questionAnswers(2)

yourAnswerToTheQuestion