|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
tpFIBDatabase и потоки
Здравствуйте!
Вопрос такой: Правильно ли я понимаю, что внутри tpFIBDatabase есть критическая секция и не надо синхронизировать работу через него? Провёл эксперимент. В главном потоке 1 экземпляр tpFIBDatabase и tpFIBTransaction. В других потоках создаются экземпляры tpFIBDataSet и tpFIBQuery. Они подключаются к tpFIBDatabase без синхронизации. Каждый поток циклически меняет значение в своей ячейке в таблице. Видно как один из потоков меняет свою запись, а остальные не могут попасть в промежуток когда этот поток перестает работать с базой. Иногда все-таки другой перехватывает эстафету. Если в потоках поставить задержку 1мс, то все потоки работают. Но при выходе из рантайма выскакивает виолейшн. Собственно вопрос. правильно ли я делаю без дополнительной синхронизации? Виолейшн из за другого косяка? |