powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / GUI и многопоточность
4 сообщений из 4, страница 1 из 1
GUI и многопоточность
    #34267720
DIMA11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!!
Ситуация следующая:
Есть программа создающая сервер сокета и для каждого нового подключенного клиента создает новый поток. В этом потоке производится работа с БД Оракл (чтение, запись и обращение к процедурам) + некоторые вычисления и результат выводится в создаваемый этим потоком фрейм.
Проблема состоит в том, что при одновременном обслуживании двух (нескольких) клиентов происходит следующее:
пока обслуживание первого клиента не будет завершено, фрейм следующего клиента не будет прорисован, т.е. он будет висеть на экране, его можно перемещать и т.д., но он равномерно серый, без всего наполнения. Складывается впечатление что потоки используются только для обработки данных, а
GUI зависает до полного завершения обработки... Интересная ситуация получается - если на обслуживание первого клиента требуется в несколько раз больше времени, чем на обслуживание второго (к примеру создание отчета за длительный период времени для первого и вывод маленькой справочной информации для второго), а подключаются они практически одновременно, т.е. и обслуживаться начинают тоже почти одновременно, а данные по запросу второго клиента появятся в его фрейме ТОЛЬКО ПОСЛЕ того, как появится отчет по запросу первого клиента. Сам факт появление фрейма для второго клиента говорит о том что данные для него уже получены т.к. в программе сначала данные, а только потом вывод фрейма. Но он будет просто стоять серым, пока работа с запросом первого клиента полностью не завершится...
Подскажите с чем это может быть связано.
...
Рейтинг: 0 / 0
GUI и многопоточность
    #34267758
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GUI в Java однопоточный (многопоточных реализаций я не знаю). Долгоиграющие операции в Event Dispatch Thread будут приводить к тому что вы описали.
SwingWorker
...
Рейтинг: 0 / 0
GUI и многопоточность
    #34267770
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
при работе с потоками в свинге ключевые слова: SwingUtilities.invokeLater(), класс SwingWorker (искать в гугл)
...
Рейтинг: 0 / 0
GUI и многопоточность
    #34268298
DIMA11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за помощь! Понял в чем проблема, уже все ОК :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / GUI и многопоточность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]