Автор REAL DEAL задал вопрос в разделе Другие языки и технологии
C# чем отличается вызов эвента через Invoke и без? ! (объяснение с примером кода в пояснении к вопросу) и получил лучший ответ
Ответ от Scorpio[гуру]
Invoke выполняется в потоке GUI.
Scorpio
Просветленный
(24147)
Много GUI в разынх потоках это зло 🙂
Ответ от [новичек]
Если создать и запустить отдельный поток, параллельный основному потоку приложения (в котором обрабатываются события от GUI приложения) , то обратиться из него к GUI приложения (формам и контролам) - не получится. К ним в Winforms возможно обратиться только из основного потока. Invoke выполняет заданный код именно в основном потоке.
Отдельный поток создают для того, чтобы не загружать основной поток действиями, не связанными с GUI (например копирование или скачивание файла) , и GUI не зависал.
Дело в том, что события (клик мышью по окну, нажатие клавиши в текстбоксе и т. д. ) обрабатываются последовательно в цикле, и если сейчас в основном потоке скажем копируется файл, то пока не скопируется, окно не будет откликаться на мышь и клавиатуру.
Если же файл копировать в отдельном потоке, который будет выполняться в отдельном ядре процессора, то обработке сообщений в главном потоке не будет ничего мешать.
Ну и пример.
cyberforum.ru/windows-forms/thread1075236.html
Если создать и запустить отдельный поток, параллельный основному потоку приложения (в котором обрабатываются события от GUI приложения) , то обратиться из него к GUI приложения (формам и контролам) - не получится. К ним в Winforms возможно обратиться только из основного потока. Invoke выполняет заданный код именно в основном потоке.
Отдельный поток создают для того, чтобы не загружать основной поток действиями, не связанными с GUI (например копирование или скачивание файла) , и GUI не зависал.
Дело в том, что события (клик мышью по окну, нажатие клавиши в текстбоксе и т. д. ) обрабатываются последовательно в цикле, и если сейчас в основном потоке скажем копируется файл, то пока не скопируется, окно не будет откликаться на мышь и клавиатуру.
Если же файл копировать в отдельном потоке, который будет выполняться в отдельном ядре процессора, то обработке сообщений в главном потоке не будет ничего мешать.
Ну и пример.
cyberforum.ru/windows-forms/thread1075236.html
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: C# чем отличается вызов эвента через Invoke и без? ! (объяснение с примером кода в пояснении к вопросу)
спросили в Другое Fairies
fairy tail
есть сайт фанов, послушай там много музыки
это мне нравится)
Fairy tail - Invoke
подробнее...
fairy tail
есть сайт фанов, послушай там много музыки
это мне нравится)
Fairy tail - Invoke
подробнее...
ошибочку подскажите(ассемблер, масм32)
не какой-то косяк, а косячище
.CODE
Start:
mov ax,[ x ]
mov cx,[ a ]
imul
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Музыка The Beatles
The Beatles песня " Across the Universe"
Guru Deva, actually it is Guru Dev, is invoked in the song because he was the Maharishi's teacher.
подробнее...
The Beatles песня " Across the Universe"
Guru Deva, actually it is Guru Dev, is invoked in the song because he was the Maharishi's teacher.
подробнее...
спросили в SATA Express Studio Pierrot
Где в Visual Studio 2012 дизассемблер? надо посмотреть что компилирует масм32 при .IF... .ELSEIF...
Имеется в виду MASM, встроенный в Visual Studio? Т. е. вы компилируете проект, целиком написанный
подробнее...
Где в Visual Studio 2012 дизассемблер? надо посмотреть что компилирует масм32 при .IF... .ELSEIF...
Имеется в виду MASM, встроенный в Visual Studio? Т. е. вы компилируете проект, целиком написанный
подробнее...
Ассемблер GetFileAttributes
invoke GetFileAttributes,esi
and eax,FILE_ATTRIBUTE_DIRECTORY
jz
подробнее...
спросили в Aero Boero Bee Train
*Смотрим внутри*. Сколько серий в аниме Soul Eater?
51 серия
Эпизоды:
01. Resonance of the Soul ~ Soul = Eater, Becoming a Death Scythe?~
подробнее...
*Смотрим внутри*. Сколько серий в аниме Soul Eater?
51 серия
Эпизоды:
01. Resonance of the Soul ~ Soul = Eater, Becoming a Death Scythe?~
подробнее...
спросили в Dirt 4 Halo
Помогите написать программу на ассемблере "Hello world" и прокоментировать каждую строчку!!!
Вы не можете найти правильную программу, потому что ищете, не задавшись очень важными для
подробнее...
Помогите написать программу на ассемблере "Hello world" и прокоментировать каждую строчку!!!
Вы не можете найти правильную программу, потому что ищете, не задавшись очень важными для
подробнее...
What theatre in London were the Shakespeare's plays first performed in?
We cannot be totally accurate about the actual first performance dates of many Shakespeare's play
подробнее...
как узнать IP адрес сервера из письма в The Bat?
для начала вам необходимо просмотреть заголовки письма. Опции для просмотра загаловков в каждом
подробнее...
спросили в Benelli Darker than Black
как зовут в доте всех героев
Abaddon(Абадон) - Abaddon(Абаддон) (в первой доте он был Lord of Avernus)
Alchemist(Алхимик) -
подробнее...
как зовут в доте всех героев
Abaddon(Абадон) - Abaddon(Абаддон) (в первой доте он был Lord of Avernus)
Alchemist(Алхимик) -
подробнее...
спросили в The Beach Boys
помогите пожалуйста с задание по английскому
1. They sent for him twenty minutes ago. He should be here soon. 2. This issue will not be
подробнее...
помогите пожалуйста с задание по английскому
1. They sent for him twenty minutes ago. He should be here soon. 2. This issue will not be
подробнее...
спросили в CTC Love
Как осуществить вывод в консоль (ASSEMBLER, MASM32)
Классический пример. Использование WinAPI функции wsprintf вместе с lstrlen для преобразования
подробнее...
Как осуществить вывод в консоль (ASSEMBLER, MASM32)
Классический пример. Использование WinAPI функции wsprintf вместе с lstrlen для преобразования
подробнее...