Главная страница
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.022 c
14-67488
psyho
2003-04-02 14:17
2003.04.21
программка записи cd


3-67179
Ренат
2003-04-03 16:43
2003.04.21
BDEClientDataSet и Lookup поле


1-67224
Neox
2003-04-10 21:51
2003.04.21
выделение в ListView


4-67612
Chlavik
2003-02-21 02:31
2003.04.21
WinApi :)


3-67146
MishaS
2003-04-03 10:56
2003.04.21
Фиксация записи