-
Доброго времени суток всем! Программа работает с базой FireBird используя компонеты FIBPlus. В программе одновременно работает три потока. Каждый поток имеет свое подключение к базе, свои транзакции. Параметры транзакций на чтение: read nowait read_committed rec_version
Парметры транзакций на запись: write read_committed wait no_rec_version.
Во время работы приложения иногда происходит зависание(висят все потоки). В может быть причина? Может неохдимо изменить параметры для транзакций? Заранее спасибо.
PS. FireBird 2.1, FibPlus 6.8
-
> write > read_committed > wait > no_rec_version.
может это?
-
Виталий Панасенко(дом) > > write> read_committed> wait> no_rec_version.может это?
Так у меня так и написано
-
> Во время работы приложения иногда происходит зависание(висят > все потоки). > В может быть причина?
Вероятно у вас ошибка в программе. Возможно работа с потоками неверно организована. Так же возможно, что не учтены особенности FireBird при разработке многопоточного приложения. Также возможно, что один поток из-за wait ожидает, когда другой поток, внесший изменения, подтвердит транзакцию. Кстати, зачем no_rec_version? Попробуйте стандартный rec_version.
-
> Так у меня так и написано
а что это значит Вы уже конечно знаете?
-
> no_rec_version
а это зачем в пишущей транзакции?
|