Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Время выполнения потока (TThread)


stone ©   (2002-12-20 09:43:00) 

Возможно ли рассчитать приблизительное время, требуемое для выполнения потока? Например, при установке Windows работает счетчик обратного времени (осталось 20 мин...10 мин... и т.д.), не смотря на то, что время он показывает не совсем точно, тем не менее при запуске рассчитывается приблизительное время, требуемое для работы.


Digitman   (2002-12-20 11:02:00) [1]


> существуют ли способы это вычислить


Вычислить, скорее всего - нет. Но вот получать асинхронные извещения о ходе выполнения запроса на сервере в некоторых случаях при определенных программных конфигурациях, наверно, можно. Скажем, некоторые ODBC-драйверы позволяют стартовать запрос на сервере в неблок.режиме (т.е. клиентский код, исп-щий такой драйвер, имеет возможность передать драйверу на выполнение SQL-запрос и тут же получить назад управление). А если управление возвращено, то кл.код (исполняемый хоть в основном хоть в доп.код.потоке) имеет возможность делать что-то еще (параллельно с выполнением запроса на сервере), например, запрашивать у ODBC-драйвера некое св-во RecordsAffected (если таковое поддерживается) и интерпретировать его как инф-цию о ходе выполнения запроса.

Насчет связки ADO + MSSQL ничего не скажу - не интересовался ее возможностями в этом плане. Скорее всего, для такой связки это дело не прокатит


stone   (2002-12-20 10:47:00) [2]


> ты ж не знаешь заведомо, сколько по времени будет выполняться
> SQL-запрос ! Это зависит от множества факторов.

Я это прекрасно понимаю, просто хотел узнать, существуют ли способы это вычислить, хотя бы приблизительно.

> К какой СУБД выполняется запрос в потоке ? БДЕ участвует
> ? ODBC-драйвер используется ?

MSSQL через ADO


Digitman   (2002-12-20 10:29:00) [3]

ты ж не знаешь заведомо, сколько по времени будет выполняться SQL-запрос ! Это зависит от множества факторов.

К какой СУБД выполняется запрос в потоке ? БДЕ участвует ? ODBC-драйвер используется ?


stone   (2002-12-20 10:23:00) [4]

в потоке выполняется SQL-код, осуществляющий обработку данных, это может занимать 2-5 мин, во время работы потока хочу показывать процесс его выполнения в TProgressBar, но для установки ProgressBar.Max мне нужно заранее знать сколько приблизительно времени потребуется на выполнение этого потока


Roman_Tutov   (2002-12-20 10:03:00) [5]

на этот вопрос невозможно ответить не зная логику работы вашего
приложения .
Что могу сказать точно - так это то что к TThread этот вопрос никакого отношения не имеет


Наверх

Титульная страница Поиск, карта сайта Написать письмо