Использование многопоточности для форм и элементов управления
Обновлен: Ноябрь 2007
Многопоточность наиболее эффективна при выполнении процедур и методов класса, однако ее можно использовать и при работе с формами и элементами управления. При этом нужно принять во внимание следующее:
По возможности методы элемента управления должны выполняться в том же потоке, в котором был создан этот элемент. Если необходимо вызвать метод элемента управления из другого потока, необходимо использовать Invoke для вызова метода.
Не используйте оператор SyncLock для блокирования потоков, работающих с элементами управления или формами. Поскольку методы элементов управления и форм иногда выполняют обратный вызов вызывающей процедуры, можно непреднамеренно вызвать взаимоблокировку — ситуацию, когда два потока ожидают друг от друга выполнения действий, необходимых для дальнейшей работы приложения.
См. также
Основные понятия
Параметры и возвращаемые значения для многопоточных процедур