В настоящее время я работаю с потоками и надеюсь, что кто-то может четко объяснить, как устранить следующую ошибку.
У меня есть глобальный Dictionary<string, BitmapImage> dic
, который я создаю в основном потоке.
Основной поток создает дочерний поток для заполнения словаря изображениями.
Затем основной поток пытается получить доступ к словарю и выдает исключение
The calling thread cannot access this object because a different thread owns it
Iнет проблем с доступом к самому словарю, например, dic.ContainsKey("key")
работает просто отлично, только когда я пытаюсь получить доступ к BitmapImage
в словаре, возникает ошибка.
Я предполагаю, что это потому, что BitmapImages хранятся всловарь создается в дочернем потоке, и это вызывает проблему - есть идеи, как мне обойти это?
Я посмотрел здесь множество учебников и советов по многопоточности, но кажется, что везде другие расскажут вам, какполучить доступ к объекту родительского потока из дочернего потока, тогда как я пытаюсь сделать наоборот.
Спасибо.