Re[6]: В каких случаях необходимо использовать потоки?
От: Lloyd Россия  
Дата: 11.02.07 16:27
Оценка:
Здравствуйте, kliff, Вы писали:

L>>>>Столько умных слов, а ничего не понятно. Ты лучше на пальцах покажи, чем наличие/отсутствие транспортного слоя поможет ему с проблемой зависания UI?


А>>>Если на пальцах: WaitFor-функции НЕ должны вызываться из визуального (основного) потока, иначе GUI "замерзнет" до конца интервала или прихода сообщения. Для этого должен быть специальный поток. А он уже кидает в основной поток PostMessage() при завершении WaitFor-функции.


L>>Уже лучше. Но все-таки хотелось бы понять как связаны транспортный слой и отсутствие/наличие WaitFor-ов?


K>Варианта два.


K>1. Оставить ожидание в потоке UI. Тогда нужно переписать функцию WaitFor таким обрахом чтобы она показывала юзеру что происходит — прогресс или обычный диалог с надписью waiting. Самый простой способ.


K>2. Вынести ожидание запросов в отдельный поток. Но только если UI не должен ждать завершения запроса. Т.е. если UI рассчитан на работу во время пока запрос еще не завершен.


Молодец, очень интересно. Но все-таки хотелось бы понять причем здесь "транспортный слой"?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.