Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
3-67104
Yuraz
2003-04-02 16:03
2003.04.21
Почему при выходе из приложения, подкл. к БД, после disconnect


1-67386
silenser
2003-04-10 13:50
2003.04.21
Delphi7


3-67183
Жорик
2003-04-03 14:36
2003.04.21
Как написать базу на ADO, используя MS Access????


6-67431
{{{KOTOS}}}
2003-02-26 19:28
2003.04.21
Помогите разобраться со строковым параметром в сети


3-67086
Будущий мастер
2003-04-01 19:13
2003.04.21
Проблемы с установкой Oracle 8 в Windows XP




   Наверх