- Регистрация
- 12.11.2016
- Сообщения
- 65
- Благодарностей
- 51
- Баллы
- 18
Есть конструкция для блокировки ввода между потоками:
lock(SyncObjects.InputSyncer) {
здесь код
}
Вместе с тем не совсем понятно когда нужно блокировать этот объект а когда нет. Какие методы для взаимодействия сейчас есть:
HtmlElement.Click
HtmlElement.SetValue
HtmlElement.RiseEvent
Tab.KeyEvent
Tab.MouseClick
Tab.MouseWheel
Tab.MouseMove
Tab.FullEmulationMouse (семейство методов)
instance.SendText
...может быть не все методы перечислил, если напомните буду благодарен
Вопрос: для каких методов блокировка InputSyncer действительно нужна в многопотоке, а в каких случаях можно её не использовать?
lock(SyncObjects.InputSyncer) {
здесь код
}
Вместе с тем не совсем понятно когда нужно блокировать этот объект а когда нет. Какие методы для взаимодействия сейчас есть:
HtmlElement.Click
HtmlElement.SetValue
HtmlElement.RiseEvent
Tab.KeyEvent
Tab.MouseClick
Tab.MouseWheel
Tab.MouseMove
Tab.FullEmulationMouse (семейство методов)
instance.SendText
...может быть не все методы перечислил, если напомните буду благодарен
Вопрос: для каких методов блокировка InputSyncer действительно нужна в многопотоке, а в каких случаях можно её не использовать?




Не известно (можно посмотреть, но не хочется разбираться в цепочках вызовов) как у них там внутри это реализовано. Но по логике - используя эти стандартные методы - уже должны быть предусмотрены блокировки внутри библиотек от ZennoPoster.