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

Вниз

Потоки   Найти похожие ветки 

 
denis24   (2003-04-09 11:50) [0]

Хочу разбить выполнения запросов к сереверу в моем приложении на несколько сабжей чтобы быстрее было.Так вот как это сделать?
Нужно ли создавать под каждый запрос свой поток в(New items-new-thread object) и в каждом потоке писать разные запросы?И еще, как их вызывать что бы выполнялись паралельно(тоесть на форме результат выполнения запросов выполнялся по мере их выполнения)?


 
Digitman ©   (2003-04-09 12:07) [1]


> чтобы быстрее было


А кто тебе сказал, что "будет быстрее" ? Нет , быстрее не будет.
Цель реализации доп.код.потоков - организация параллельно выполняемых длительных по времени вычислений


 
id_privin ©   (2003-04-09 12:07) [2]

Тут есть куча вариантов.
- можно все запросы обрабатывать одним типом потоков, а можно разные типы запросов разными типами потоков
- можно для каждого запроса создаваять свой экземпляр потока, а можно использовать шаблон WorkerThread
- в любом случае для параллельной обработки тебе потребуется
1) поток приема запросов
2) потоки выполнения
1) принимает запрос и отдает его на выполнение 2). Возможно наличие 3) потока сборки и отправки результатов.


 
denis24   (2003-04-09 12:19) [3]

Как все сложно.
А нельзя проcто создать свой thread object для каждого запроса ?


 
Digitman ©   (2003-04-09 12:24) [4]


> denis24


В подавляющем большинстве случаев - нет.

Видимо, ты не понимаешь, как работают "потроха" TQuery


 
denis24   (2003-04-09 12:36) [5]

Видимо нет.


 
Digitman ©   (2003-04-09 12:56) [6]

правило простое - в каждом отдельном доп.код.потоке, который работает с отдельным объектом-запросом, должны быть созданы отдельные экземпляры объектов database, session, workspace, transaction и т.д. (в зависимости от конкр.СУБД), т.е. те объекты, на которые прямо или косвенно будет ссылаться объект-запрос

придерживайся этого простого правила - и проблем с мультипоточным доступом к большинству известных СУБД у тебя как правило не будет


 
shane54 ©   (2003-04-09 13:17) [7]

Digitman © (09.04.03 12:56)

А можно какой-нить пример ны мыло?


 
Digitman ©   (2003-04-09 13:30) [8]

какой пример-то ?

ты в состоянии в run-time компоненты создавать ?



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
1-67245
Sirus
2003-04-11 07:20
2003.04.21
Доступ к объектам FastReport...


1-67278
Serj
2003-04-11 15:27
2003.04.21
ComboBox


3-67136
ЛешаК
2003-04-03 06:58
2003.04.21
Explicit Transactions в хранимых процедурах.


1-67349
новый
2003-04-09 15:21
2003.04.21
Как считывать с реестра строковые данные?


3-67156
v.topalov
2003-04-03 13:24
2003.04.21
Пароль на базу InerBase?