Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2011, 11:25   #1
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
Вопрос Многопоточность + ADO

Добрый день! Есть один ADOConnction и много потоков. Корректно ли будет проходит выполнение запросов из потоков? Основной вопрос в том , что разруливает ли это сам компонент или нужно писать что то самому? Делать каждому потоку свой ADOConnection не хочется. В процессе работы потоки многократно создаются и удаляются. Соответственно многократный коннект наверняка будет влиять на быстродействие.
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Старый 03.06.2011, 20:21   #2
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

а СУБД поддерживает много поточность?
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 03.06.2011, 21:04   #3
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Поток, по сути - самостоятельное приложение. Без собственного соединения в каждом потоке получите множество проблем и ошибок, а вот с положительными результатами будут проблемы...
ReportCube вне форума Ответить с цитированием
Старый 05.06.2011, 04:43   #4
Gulik
Холост/Не замужем
Форумчанин
 
Аватар для Gulik
 
Регистрация: 13.11.2007
Сообщений: 283
По умолчанию

Цитата:
ADOConnction и много потоков
- какой еще поток???
Gulik вне форума Ответить с цитированием
Старый 05.06.2011, 11:13   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Корректно ли будет проходит выполнение запросов из потоков?
Да, если не забудешь в потоке включать CoInitialize и в конце потока его CoUninitialize. Я лично прямо в потоках и создаю экземпляр ADOQuery, и в конце потока его уничтожаю, без всяких лишних ADOConnction.
Каждому потоку - свой ADO объект.
Цитата:
Соответственно многократный коннект наверняка будет влиять на быстродействие.
Тебе это для чего надебно то? СУБД какая?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.06.2011, 08:56   #6
Gregor
Форумчанин
 
Регистрация: 24.10.2007
Сообщений: 208
По умолчанию

СУБД MS SQL. Задача в следующем. В системе создаются объект и поток его обслуживающий. Когда объект сделал свое дело, он уничтожается!!(он уже не нужен) и поток в месте с ним тоже уничтожается!!. В одно и то же время может порождаться много потоков. Объект внутри потока обращается к БД. Из этого возникает вопрос про ADOConnection. Можно конечно в каждом потоке создавать ADOQuery. Но если в если одновременно создалось 100 потоков, соответственно и 100 коннектов. не хотелось бы. Если создать одни ADOConnection для этих целей и передавать потокам. Он разрулит одновременное обращение к нему запросов?
интенсивно гуглю прежде чем задать вопрос
Gregor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многопоточность boo_mago Общие вопросы C/C++ 7 21.03.2011 21:23
Многопоточность и с++ Koshmarovsky Visual C++ 13 06.09.2010 20:39
Многопоточность kroŧ Общие вопросы Delphi 5 21.06.2010 10:47
Многопоточность JakSon Общие вопросы Delphi 10 27.12.2009 02:19
Многопоточность PUH Помощь студентам 3 06.06.2009 13:54