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

Вниз

Многопоточность в IB.   Найти похожие ветки 

 
Ш-К   (2002-08-09 14:26) [0]

У меня все нити привязаны к одному соединению с БД. Соответственно и запросы получаются последовательными.
Как сделать так, чтоб запросы вополнялись параллельно.


 
SaS13 ©   (2002-08-09 14:32) [1]

создаешь потоки и в них выполняешь запросы (сабж) =))


 
Ш-К   (2002-08-09 15:58) [2]

И что, на все потоки достаточно иметь общий IBQuery1, общую IBDatabase1 и общую IBTransaction1?

Допустив у меня два потока. из одного я делаю длительный запрос (через IBQuery1, и минут на 20). В другом потоке (через тот же IBQuery1) провожу постоянную перетасовку данных. Всё ли будет работать корректно?

PS. Я просто опасаюсь примерять - в стерильных условиях оно может и заработает, а начну усложнять, прийдёт кирдык. И всё потому, что в начале не учёл очевидных вещей.


 
SaS13 ©   (2002-08-09 16:05) [3]

для каждого потока свой IBQuery1 должен быть, иначе они опять будут выполняться в программе последовательно, у меня так обновление данных организовано, правда на MSSQL, но работает, если хотишь могу модуль мылом выслать


 
Johnmen ©   (2002-08-09 16:11) [4]

Одно соединение - один поток запросов, последовательно выполняемых сервером...


 
Ш-К   (2002-08-09 17:01) [5]

У меня два потока. Я хочу, чтобы когда "выполняется" запрос в первом потоке, во втором потоке постоянно могли бы отсылаться другие запросы и приниматься их результаты.
Что для этого делать?


 
Ura   (2002-08-09 17:08) [6]

Идея. Создавай в каждом потоке транзакцию + запрос
Потом цепляй это все к 1-му соединению с базой и запускайся.

Посмотри.
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1028897453&n=1


 
Ш-К   (2002-08-09 17:44) [7]

Client library: GDS32
Implement ThreadSafe operation
The client library is not fully threadsafe. Currently each thread must
create its" own connection to the database.

И как, после таких слов, цеплять всё на одно соединение?


 
Ura   (2002-08-09 17:48) [8]

Поясни. Где вывалилось сообщение?


 
Ш-К   (2002-08-09 18:15) [9]

Это не сообщение.
Это написано в Firebird Project - Open Feature Requests :
1416 446227 Implement ThreadSafe code/operation.

Полагаю, что для IB тоже.


 
Alexandr ©   (2002-08-12 08:34) [10]

блин, я хренею - хотите параллельности - создавайте новое подключение в каждом потоке.



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

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

Наверх




Память: 0.48 MB
Время: 0.015 c
14-3572
Извращенец
2002-08-05 16:28
2002.09.02
Direct X 8.1 и более


1-3407
LDKL
2002-08-22 15:52
2002.09.02
!


1-3509
proc
2002-08-21 12:28
2002.09.02
Font в PageControl


14-3567
Rad
2002-08-05 21:09
2002.09.02
Область задач


14-3580
Pingo
2002-08-06 12:43
2002.09.02
Знатоки IB !!!