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

Вниз

Совместное использование TTable   Найти похожие ветки 

 
Alex_C   (2008-04-03 16:54) [0]

Вопрос: есть справочная таблица TTable. Ее одновременно могут использовать несколько тредов. Естественно возникает проблема, когда сразу несколько тредов к ней обращаются. Правильно ли я сделал такую ф-цию поиска, чтобы этого изизбежать:
procedure FindInTable(Table: TTable; CS: TRTLCriticalSection);
begin
 EnterCriticalSection(CS);
 try
   Table.First;
   // Чего-то там ищем
 finally
   LeaveCriticalSection(CS);
 end;
end;
Естественно критическая секция определена ранее одна для всех процессов.


 
Сергей М. ©   (2008-04-03 16:56) [1]


> TTable. Ее одновременно могут использовать несколько тредов


Если мне не изменяет память, не могут, даже при организации синхронного доступа.


 
Игорь Шевченко ©   (2008-04-03 16:57) [2]

многопоточное приложение для BDE должно следовать описанию в справке.

а правильно ты сделал или нет, тебе покажет твой собственный опыт.


 
Loginov Dmitry ©   (2008-04-03 22:51) [3]

> Правильно ли я сделал такую ф-цию поиска, чтобы этого изизбежать:


Нет. Не правильно. Для каждого треда необходимо создавать отдельно TDataBase, TSession и TTable/TQuery. Это намного проще, чем при твоем подходе ловить потенциальные глюки в дальнейшем. А они будут, особенно, если с TTable связаны какие-либо визуальные компоненты.


 
DrPass ©   (2008-04-03 23:48) [4]


> Если мне не изменяет память, не могут, даже при организации
> синхронного доступа

Через Synchronize должно получиться, в этом случае процедурка будет переключаться в контекст основного потока



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1206856672
Fedor
2008-03-30 09:57
2008.04.27
Как узнать кол-во дней между датами в TDateTimePiker-ах?


15-1205350043
Interfer0n
2008-03-12 22:27
2008.04.27
Ищем программистов Delphi, C++/Visual Studio


8-1179237859
Светлана
2007-05-15 18:04
2008.04.27
перетаскивание компонентов ( DragnDrop )


15-1205505495
AlexanderMS
2008-03-14 17:38
2008.04.27
Переводчик исходников с С++ на Delphi.


2-1207057125
FIL-23
2008-04-01 17:38
2008.04.27
как из TJPEGImage в TPicture конвертнануть