Попытка обернуть мою голову вокруг обновления элементов управления пользовательского интерфейса из других потоков.
В настоящее время используется BeginInvoke и, честно говоря, он работает нормально, но я продолжаю слышать о том, как вы можете использовать SynchronizationContext, чтобы сделать то же самое.
Что предпочтительнее?
Кроме того, неудобно ли обновлять пользовательский интерфейс из потока? Было бы лучше поднять событие и иметь основную форму вместо этого или есть другие предпочтительные способы сделать это?
Извините за несколько субъективный вопрос, но есть много вариантов в мире потоковой передачи, и я пытаюсь понять их различия и где каждый из них применим, а также лучшие практики для написания читаемого и расширяемого кода на будущее.
Изменить: Также теперь я вижу маршрут TaskScheduler.FromCurrentSynchronizationContext
. Так много вариантов x_x