Да ничего такого потокового магического этот вызов не делает.
Это прям основы винды - кажое окно имеет связанную с ним оконную процедуру
Окно это прям не буквально то что юзеры считают окном, а то что имеет HWND - и кнопки и поля ввода и чекбоксы они то же окна
Во всяких хитрозагнутых фреймоворках и дотнетах правило что отдельный окошко/контрол - отдельное HWND может уже не соблюдаться, но древнюю по своей сути аксапту до 2012 версии включительно это не касается
Общение с окном идет через очередь сообщений - нажатие кнопки клаивиатуры, события мышки, необходимость отрисовки, пользовательсие события - всё это события в очереди сообщений
Очередь сообщений разребает оконная процедура - по сути большой SWITCH, который выполняет какие запрограммированные действия в ответ на события в очереди
И эта очередь разребается когда поток в котором оконная процедура ничем не занят. Соответственно если занялись чем то безумным надолго, то окно замирает
yield всего лишь принудительно вызывает оконные процедуры "вне графика". Отсюда и размораживание интерфейса и иллюзия многопоточности
Что там реально случится зависит только от конкретной оконной процедуры. Но абсолютно точно никаких отдельных потоков порождаемых самой системой
Блин, каким же древним дедом себя чувствую с этими бесполезными знаниями программиста под винду на голом Си
Последний раз редактировалось db; 16.09.2021 в 23:10.
|