Главная страница
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.016 c
1-3347
Cr@sh
2002-08-19 12:31
2002.09.02
Устранение мерцаний Image.


3-3293
Serj27
2002-08-12 11:14
2002.09.02
doa+delphi


1-3461
Unhandled Exception
2002-08-20 17:00
2002.09.02
Разное поведение компонента под Win98 и Win2000


14-3560
MBo
2002-08-02 12:48
2002.09.02
Простенькая задачка


1-3491
BOBAH
2002-08-20 12:26
2002.09.02
Вопрос по испоьзованию TThread