Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
Павел ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
1-1131617404
Юра
2005-11-10 13:10
2005.12.11
Подскажите компонент архив/разархив потоков TMemoryStream


14-1132587990
oldman
2005-11-21 18:46
2005.12.11
Вот тебе и раз...


14-1132647302
злобная танька
2005-11-22 11:15
2005.12.11
Посоветуйте книжку по VC++ или как там его


3-1130329917
Patrick
2005-10-26 16:31
2005.12.11
Связанные таблицы


1-1131744155
злобная танька
2005-11-12 00:22
2005.12.11
текст под углом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский