Главная страница
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
1-3451
kima
2002-08-20 19:10
2002.09.02
arccot()


1-3358
andrey_pst
2002-08-22 07:53
2002.09.02
Маска файлов в OpenDialog.


6-3542
GM_
2002-06-21 23:15
2002.09.02
Как получить маску подсети ?


3-3250
Павел Николаевич
2002-08-12 05:13
2002.09.02
Добавление записей (ADO)


1-3431
Yaro
2002-08-18 01:42
2002.09.02
Прозрачный Label на рабочем столе