Форум: "Основная";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
ВнизПродолжительность работы потока Найти похожие ветки
← →
Mouserx (2005-02-08 12:16) [0]Мастера как узнать время работы потока? Меня волнует не время ЦП а просто продолжительность работы потока! Отслеживать мне надо посторонний поток, поэтому я не могу знать когда он запустился.
← →
Digitman © (2005-02-08 12:19) [1]
> Отслеживать мне надо посторонний поток
своего процесса ? или чужого ?
← →
Mouserx (2005-02-08 12:24) [2]Отслеживаю доп. поток своего процесса. Известно только ID доп. потока.
← →
BiN © (2005-02-08 12:34) [3]GetThreadTimes
← →
Alexander Panov © (2005-02-08 12:42) [4]t1=now
=WaitForSingleObject
t2=now
dt=t2-t1
← →
Mouserx (2005-02-08 13:01) [5]
> BiN © (08.02.05 12:34) [3]
А можно по подробнее как ее использовать? мне непонятны параметры которые ей надо передать (кроме первого).
> Alexander Panov © (08.02.05 12:42) [4]
Поток работает вместе с основной программой а не ждет (WaitForSingleObject)
Думал просто хранить время запуска потока, но потоков несколько и вот хочу знать:
Можно ли узнать время работы потока, нигде не записывая время его запуска?
← →
Alexander Panov © (2005-02-08 13:05) [6]Mouserx (08.02.05 13:01) [5]
Можно ли узнать время работы потока, нигде не записывая время его запуска?
Можно.
При старте процедуры Execute запоминуешь время, при окончании - считаешь разницу. Результат получаешь в основном потоке.
← →
Digitman © (2005-02-08 13:09) [7]
> Mouserx (08.02.05 13:01) [5]
> Поток работает вместе с основной программой а не ждет (WaitForSingleObject)
когда он подобным образом "ждет", растет его kernel time.
когда он не "ждет", растет user time
суммарное время работы потока (ждет он или не ждет) равно сумме KernelTime + UserTime .. или ExitTime - CreationTime ..
до тех пор пока хэндл потока не закрыт, ты имеешь право и возможность с пом.вызова GetThreadTimes узнать все четыре временных параметра потока
← →
Digitman © (2005-02-08 13:13) [8]
> Alexander Panov © (08.02.05 13:05) [6]
> При старте процедуры Execute запоминуешь время, при окончании
> - считаешь разницу
Execute не есть вся поточная ф-ция... это лишь процедура, вызываемая в контексте поточной ф-ции созданного потока
во многих случаях измерение времени выполнения собственно Execute не отражает сути вопроса автора, ибо м.б. существенно меньше реального времени выполнения поточной ф-ции из-за многих факторов ... например, использования синхронизации с потоком-создателем
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c