Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.20;
Скачать: CL | DM;

Вниз

Продолжительность работы потока   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
3-1106545295
Layner
2005-01-24 08:41
2005.02.20
Мастера, посоветуйте, как расшифровать выборку на клиенте


14-1107266227
AlexG
2005-02-01 16:57
2005.02.20
Что мне добавить и нравится ли структура?


8-1099765447
VasRog
2004-11-06 21:24
2005.02.20
Яркость и формат цвета


4-1105189456
Ded Moroz
2005-01-08 16:04
2005.02.20
Настройки модема в реестре


14-1107336521
syte_ser78
2005-02-02 12:28
2005.02.20
нажатие энтер в комбобоксе