Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Зависание клиентов   Найти похожие ветки 

 
Павел ©   (2005-10-19 19:09) [0]

есть БД и куча клиентов.

клиенты периодически виснут (в момент когда от БД пришел event), я так понимаю там какие то проблемы с транзакциями, вообщем расскажите как пишутся нормальные клиенты, основные принцыпы :)


 
Desdechado ©   (2005-10-19 19:32) [1]

основной принцип - события не использовать :)


 
Павел ©   (2005-10-19 19:37) [2]

не, надо же как то клиентов оповещать об изменениях...лучше расскажите как грамотно их обрабатывать...


 
Павел ©   (2005-10-19 22:11) [3]

посоветуйте чтонибудь полезное...


 
Zacho ©   (2005-10-20 00:21) [4]

Павел ©   (19.10.05 19:37) [2]
не, надо же как то клиентов оповещать об изменениях


В подавляющем большинстве случаев - не надо, и даже вредно.
А проблема у тебя скорее всего в компоненте, обрабатывающем ивенты. Попробуй какой-нибудь другой. Помниться, лет 5 назад самым безглючным считался SuperIBEventAlerter, сейчас - не знаю.
Ещё как вариант - клиентская библиотека от другой версии FB. Проверь.
Ну и конечно, могут быть баги у тебя в коде, но не видя твоего кода ничего сказать нельзя.


 
Soliton ©   (2005-10-24 21:50) [5]

Обращаю ваше внимание на необъяснимый эфект... клиент очень надежно зависает при попытке одновременного доступа через одно соединение нескольких желающих... виснет железно... Однозначно в многопоточном варианте (проверено)... причем по необъяснимым причинам от многопоточного зависания не спасает даже попытка создания дочерних соединений для каждого потока. Так что может все дело вовсе не в эвентах...


 
Zacho ©   (2005-10-25 06:20) [6]

Soliton ©   (24.10.05 21:50) [5]

IB-клиент (gds32.dll или fbclient.dll) не thread safe. Поэтому нужно или использовать объекты синхронизации в многопоточном приложении, или на каждый поток - своё подключение. Не знаю, почему у тебя виснет в случае отдельных подключений для каждого потока. У меня не виснет, и не у кого не виснет, что-то ты неправильно делаешь :)
Кстати, работать из нескольких потоков с одним подключением бессмысленно ещё и потому, что в контексте одного подключения все запросы всё равно будут выполняться последовательно, а не "паралельно", независимо от того, сколько потоков и транзакций. Для "паралельного" выполнения запросов нужно несколько коннектов.
Впрочем, всё это к ивентам не имеет никакого отношения :)


 
Anatoly Podgoretsky ©   (2005-10-25 09:06) [7]

Павел ©   (19.10.05 19:37) [2]
Не надо



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
2-1132495765
Дева
2005-11-20 17:09
2005.12.11
наследование?


2-1132571540
Perf2k2
2005-11-21 14:12
2005.12.11
Пытаюсь вызвать процедуру показа формы FormShow, не получается :(


2-1132558051
B@BY
2005-11-21 10:27
2005.12.11
Базы данных - MS Access


2-1133163208
312Kbps
2005-11-28 10:33
2005.12.11
idHTTP , Помогите новичку ))))


3-1130097537
redlord
2005-10-23 23:58
2005.12.11
последовательная обработка данных