![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: нет Всего: 2 |
Очень часто вижу примеры, в которых данные на форме обновляются из другого потока и в них используется проверка на InvokeRequired.
Зачем это нужно? Сильно ли теряется производительность если вызвать метод обновления данных в этом же потоке через Invoke? |
|||
|
||||
| Voyager |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 532 Регистрация: 8.2.2005 Репутация: 3 Всего: 18 |
Если есть работа разных потоков, влияющая на GUI формы, то нужно, иначе будет ошибка обращения из другого потока.
|
|||
|
||||
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: нет Всего: 2 |
перефразирую вопрос.
Предположим есть метод формы, который обновляет данные на форме. Он может вызываться как в том же потоке, что и создана форма, так и из другого потока. Могу ли я в этом методе сразу написать Invoke? и насколько это правильно? |
|||
|
||||
| Voyager |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 532 Регистрация: 8.2.2005 Репутация: 3 Всего: 18 |
Написать можете, но лучше придерживаться правил хорошего тона.
В конкретно данном случае правильней будет поставить проверку на InvokeRequired (есть свой поток, есть другой, выполняться с учетом InvokeRequired, какая-никакая польза для производительности). |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |