![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Время выполнения потока (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 этот вопрос никакого отношения не имеет