Поделиться через


Использование многопоточности для форм и элементов управления

Обновлен: Ноябрь 2007

Многопоточность наиболее эффективна при выполнении процедур и методов класса, однако ее можно использовать и при работе с формами и элементами управления. При этом нужно принять во внимание следующее:

  • По возможности методы элемента управления должны выполняться в том же потоке, в котором был создан этот элемент. Если необходимо вызвать метод элемента управления из другого потока, необходимо использовать Invoke для вызова метода.

  • Не используйте оператор SyncLock для блокирования потоков, работающих с элементами управления или формами. Поскольку методы элементов управления и форм иногда выполняют обратный вызов вызывающей процедуры, можно непреднамеренно вызвать взаимоблокировку — ситуацию, когда два потока ожидают друг от друга выполнения действий, необходимых для дальнейшей работы приложения.

См. также

Основные понятия

Состояния потоков

Параметры и возвращаемые значения для многопоточных процедур

Многопоточные приложения

Ссылки

Invoke

InvokeRequired

Другие ресурсы

Многопоточность в компонентах