Рекомендации по com и автоматизации потоков
Ниже приведены рекомендации по потоковой работе с планшетным компьютером, которые относятся к использованию модели COM и автоматизации.
- Потокобезопасность
- Приложения STA и MTA
- InkCollector и InkOverlay
- Приемники событий
- Исключения в обработчиках событий
- Связанные темы
Потокобезопасность
За исключением элементов управления InkPicture и InkEdit , объекты планшетного пк являются потокобезопасны и помечены как оба. Если они помечены как оба, они могут работать в однопотоковом объекте (STA) или многопоточном (MTA).
Windows Forms использует модель STA, так как windows forms основаны на собственных окнах Win32, которые по своей сути являются потоками подразделения.
Приложения STA и MTA
Если приложение выполняется в MTA или использует свободный потоковый маршалер (FTM), необходимо написать потокобезопасный код; тем не менее, это позволяет улучшить некоторые проблемы с производительностью обработки событий.
InkCollector и InkOverlay
Приложение не должно выпускать окончательную ссылку на объект InkCollector или InkOverlay , таким образом уничтожая объект непосредственно из потока рукописного ввода. Вместо этого приложение должно освободить объект InkCollector или InkOverlay из потока приложения.
Осторожностью: Приложение, помеченное как MTA или использующее FTM, которое разрешает прямые вызовы из потока рукописного ввода в квартиру приложения, может освободить свою окончательную ссылку на объект InkCollector или InkOverlay непосредственно из потока рукописного ввода; однако это приводит к неустранимому сбою приложения.
Приемники событий
Если приложение не использует FTM и объект и его приемник событий создаются в разных помещениях, то событие выполняется в потоке, обслуживаемом приемником событий.
Исключения в обработчиках событий
Исключения, создаваемые из обработчиков событий планшетного компьютера, используются и не видны остальным пользователям или приложению. Аналогичным образом значения HRESULT не распространяются из обработчиков событий планшетного ПК. Если приложение, использующее уровень COM, создает исключение, фоновый поток завершается, и исключение будет потеряно. Дополнительные обработчики событий вызываться не будут.
Связанные темы