Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Вниз

Многопоточность в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-3252
Ivanko
2002-08-09 19:40
2002.09.02
Кто смогёт или А и В сидели на трубе.


3-3280
BJValentine
2002-08-12 16:07
2002.09.02
Where ...


1-3405
MJH
2002-08-22 11:49
2002.09.02
Своство компонента типа строка, но с выпадающим списком...


1-3361
Елена
2002-08-22 08:09
2002.09.02
OnKeyDown формы


14-3566
tovSuhov
2002-08-05 16:19
2002.09.02
Посоветуйте компонент...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский