![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выполнение двух запросов одновременно ? [D6]
Slaga © (2005-03-02 12:30:00)Добрый день, у меня такой вопрос:
Я пишу приложения для отображения данных из Oracle, для этого пользуюсь компонентами DirecOracleAccess, и я столкнулся с такой ситуацией:
делаю в главной программе два потока, которые одновременно делают каждый запрос в БД через TOracleDataSet которые подключены к OracleSessioг, и тут я наткнулся на то что они не выполняются одновременно, а ждут друг друга и выполняются последовательно, сначала 1-й запрос из первого потока, потом 2-й запрос из второго запроса.
Вообщем из-за этого теряется всякий смысл многопоточности, может это как-то можно изменить, что сделать чо б 2 запроса выполнялись одновременно (запросов может быть и не 2 а 10)
MORA (2005-03-02 23:07:00) [1]
> тред должен создать в своем контексте свою индивидуальную
> связку объектов session+database+query
это точно. а почитать мона в книжке. Я лично почитал в D-6 Руководство разработчика. С. Тейксейра и К. Пачеко. Там много знать не надо. Главное - для каждого потока свои session+database+query.
slaga (2005-03-02 17:16:00) [2]ага, спосибо, это решение, просто думал может как-то красибо через компоненту OracleSessionPool, для чего-то она есть :)
Digitman (2005-03-02 16:52:00) [3]
> slaga
тред должен создать в своемконтексте свою индивидуальную связку объектов session+database+query
slaga (2005-03-02 16:43:00) [4]to Digitman
нет, я не использую TThread.Synchronize() в этом случает.
slaga (2005-03-02 16:23:00) [5]Подскажите плз, где почитать про создание мульти тотоковое подключение к Оракловской базе данных
Digitman (2005-03-02 16:21:00) [6]боюсь, дело тут как всегда в бездумном использовании TThread.Synchronize()
kivadim (2005-03-02 16:13:00) [7]Я извиняюсь..., а к компонентам палитры АДО тоже нужны множественные сесси для работы запросов в разных потоках?
slaga (2005-03-02 14:38:00) [8]А что такое OracleSessionPool и с чем его едят ?
Reindeer Moss Eater (2005-03-02 13:03:00) [9]Нужны множественные коннекты к серверу и такие же сессии.
Slaga (2005-03-02 12:58:00) [10]Тут делать не в скорости а в многозадачности, например, пользователь запустил некоторую "долгую" выборку а сам тем временем, выполняет другие "быстрые" запросы к базе.
Slaga (2005-03-02 12:54:00) [11]1) Сессион дин
2) Мне не надо ускорение, мне надо "живое приложение" потому как запросы не детские, а в проге кроме них можно и нужно выполнять и другие более быстрые операции.
Danilka (2005-03-02 12:53:00) [12][1] Sergey_Masloff (02.03.05 12:41)
Если основные временные затраты идут на ожидание ответа сервера, то возможно и ускорение на клиенте. :)
Sergey_Masloff (2005-03-02 12:41:00) [13]1) А сессионов у тебя сколько?
2) У тебя многопроцессорная машина на клиенте? Если нет то ты со своими потоками получишь не ускорение а тормоза по сравнению с последовательным выполнением.