![]() |
|
Модераторы: LSD, AntonSaburov Страницы: (80) « Первая ... 20 21 [22] 23 24 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Плохо то, что лезем в базу данных в самом обработчике - эдак и зависнуть недолго
А надо отстегивать тред. |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Не только база данных, но и посылка данных. Самое минимальное - это то, что этот метод поставит колом ЭвентКью. То есть весь ГУИ зависнет и не будет отображатся. + не очень хороший код - считываение данных в глобаную переменную и потом посылка этих данных. То есть возможно отсутвие синхранизации (что может вызвать деад лок) |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
При запуске кода c GUI, запускается 2 потока : main и AWT диспетчер (я упрощаю, их больше).
Диспетчер держит эвент кю, занимается прорисовкой и вызовом соответствующих листенеров. Значит, код внутри actionPerformed быдет выполняться не main'ом, а диспетчером, и до его завершения GUI замерзнет. Правильно сделать так:
DarkDS - запускаю... Please try again. AntonSaburov Please try again. Это сообщение отредактировал(а) Domestic Cat - 31.8.2004, 17:31 -------------------- |
|||
|
||||
| Alt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.8.2004 Репутация: нет Всего: 2 |
Такие задания надо в ThreadPool отдавать имхо
Это сообщение отредактировал(а) Alt - 31.8.2004, 16:34 |
|||
|
||||
| redrick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 547 Регистрация: 7.1.2004 Где: Москва Репутация: 3 Всего: 5 |
эдак можно много потоков наплодить - а "много потоков автоматически означает лаги" (с) Domestic Cat
вроде как... или у нас все таки только один ресурс ? (БД) [off]
там вероятность порядка 1/20 =)) -------------------- Имею Мнение Хрен Оспоришь |
|||
|
||||
| Domestic Cat |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
точнее, 1/15. По-моему, нормально; нельзя же за каждый ответ + давать Может до 1/10 увеличить?
Добавить 1, 2, 5 потоков для такого приложения можно практически безболезненно, тем более что он все равно умрет после завершения. А вот замораживать GUI нехорошо % Да здравствует подсветка синтаксиса на форуме! -------------------- |
||||
|
|||||
| Alt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.8.2004 Репутация: нет Всего: 2 |
Еще можно попытаться предотвратить многократные нажатия на ту волшебную кнопку
|
|||
|
||||
| redrick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 547 Регистрация: 7.1.2004 Где: Москва Репутация: 3 Всего: 5 |
имхо это немного из другой оперы (можно ведь ещё ловить/пробрасывать ексепшены и т. п.)
-------------------- Имею Мнение Хрен Оспоришь |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
Вполне возможно, что goButton.setEnabled(false);содержится в establishDBConnection(); Поскольку это псевдокод, то обращать внимания на такие вещи не стоит -------------------- |
|||
|
||||
| Alt |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 23.8.2004 Репутация: нет Всего: 2 |
Согласен
Хотя помещать в establishDBConnection() что либо , кроме установления коннекта с БД, на мой взгляд, не очень правильно |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
Next
----------------------------------------------------------------------------------------------
Убирать компоненты из контейнера нельзя. Какой самый элегантный способ добиться следующего результата: (Верхняя кнопка может оставаться как есть, не закрашенной.) Это сообщение отредактировал(а) Domestic Cat - 31.8.2004, 17:29 Присоединённый файл ( Кол-во скачиваний: 16 )
screen.jpg-------------------- |
|||
|
||||
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 5 Всего: 9 |
пока никто не написал я покажу самый не элегантый способ
Это сообщение отредактировал(а) ElectricalStorm - 31.8.2004, 18:34 -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
ElectricalStorm
Please try again Но есть способ гораздо проще - здесь, например, нужно перебирать все возможные варианты. -------------------- |
|||
|
||||
| ElectricalStorm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 547 Регистрация: 22.1.2004 Репутация: 5 Всего: 9 |
тоже самое только покороче
Это сообщение отредактировал(а) ElectricalStorm - 31.8.2004, 18:49 -------------------- Нужно знать инструмент, которым пользуешься |
|||
|
||||
| Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 50 Всего: 172 |
Ну нет
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |