| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > нужно ли делать проверку на InvokeRequired |
| Автор: IGV 19.10.2009, 16:35 |
| Очень часто вижу примеры, в которых данные на форме обновляются из другого потока и в них используется проверка на InvokeRequired. Зачем это нужно? Сильно ли теряется производительность если вызвать метод обновления данных в этом же потоке через Invoke? |
| Автор: Voyager 20.10.2009, 10:08 |
| Если есть работа разных потоков, влияющая на GUI формы, то нужно, иначе будет ошибка обращения из другого потока. |
| Автор: IGV 20.10.2009, 21:33 |
| перефразирую вопрос. Предположим есть метод формы, который обновляет данные на форме. Он может вызываться как в том же потоке, что и создана форма, так и из другого потока. Могу ли я в этом методе сразу написать Invoke? и насколько это правильно? |
| Автор: Voyager 21.10.2009, 15:02 |
| Написать можете, но лучше придерживаться правил хорошего тона. В конкретно данном случае правильней будет поставить проверку на InvokeRequired (есть свой поток, есть другой, выполняться с учетом InvokeRequired, какая-никакая польза для производительности). |