| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Многопотоковое приложение MDI |
| Автор: KAnAn 26.7.2009, 08:34 |
| Доброе время суток. По следам вопроса http://forum.vingrad.ru/forum/topic-267662.html Ситуация. Приложение MDI. Дочерняя форма загружена. Поток инициализирован и запущен на выполнение. Поскольку запрос выполняется значительное время, открываю еще один экземпляр работающей формы. Форма открывается без проблем. Однако при попытке зарядить параллельно еще один запрос приводит к долгому ожиданию завершения работы первой формы. При попытке открыть другую (другого содержания) форму приложение надолго подвисает. Форма открывается, но с баааааальшой задержкой. Ставлю приоритет tpIdle (запрос-то крутится на сервере БД, ресурсы локальной машины практически не нужны). Результат аналогичный. Процессор, кстати, совершенно не грузится, работает в штатном режиме. Загрузка максимум 8%. Это что-же получается, поток работает, приоритет практически нулевой, а работать с другой формой нет никакой возможности. Что не так делаю? Спасибо. |
| Автор: niteo 27.7.2009, 10:44 |
В новом потоке? новой MDI формы? |
| Автор: KAnAn 28.7.2009, 04:59 |
| Да, конечно. Запрос запускается в новом потоке, новой MDI-формы. Да я уже вроде понял почему так подвисало. Другая MDI-форма заряжала при onShow ряд запросов, а эти запросы были (пока) не через поток. Вот они и тормозили. |