У меня есть мой основной поток графического интерфейса, а второй поток работает внутри него собственного ApplicationContext (чтобы поддерживать его, даже когда нет работы, которая должна быть выполнена). Я хочу вызвать метод на моем втором потоке из моего потока графического интерфейса, но если я просто вызову thread.Method(); похоже, работает на моем главном потоке GUI и заставляет мой графический интерфейс становиться невосприимчивым. Каков наилучший способ вызова методов для разных потоков?
Update: То, что я действительно собираюсь сделать здесь, - это общение между двумя потоками, а не общение с графическим интерфейсом. Графический интерфейс просто является одним из потоков, которые будут связаны с моим вторым потоком.
Обновление # 2: Хорошо, я действительно должен что-то пропускать. Я создал событие и делегат, и мой рабочий поток подписался на это событие. Но когда я вызываю Invoke (MyEvent); из моего потока GUI работа, которую рабочий поток заканчивает тем, что находится в потоке GUI, и висит в графическом интерфейсе, пока не завершит обработку. Является ли то, что я пытаюсь сделать даже возможным, без опроса на статическом объекте?