Главная страница
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.01 c
2-1207019095
exe2k
2008-04-01 07:04
2008.04.27
OpenDialog & Listbox...


15-1204892898
No_Dead
2008-03-07 15:28
2008.04.27
Молодцы майкрософтцы%>


2-1206991679
NieL
2008-03-31 23:27
2008.04.27
OnShortCut


15-1205015585
Германн
2008-03-09 01:33
2008.04.27
Всё уже украдено, до нас.


8-1179134344
ЯХ
2007-05-14 13:19
2008.04.27
Библиотека графических файлов