Главная страница
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.03 c
1-1106985908
MakedoneZ
2005-01-29 11:05
2005.02.20
Как найти число дней в месяце и как очистить TImage.


1-1107351312
msm
2005-02-02 16:35
2005.02.20
Тема: проблема с TDateTime


3-1106648690
Sergilov
2005-01-25 13:24
2005.02.20
Как узнать текущий формат даты в Access???


1-1107764733
Dmitriy A
2005-02-07 11:25
2005.02.20
злобная формула


1-1107435747
_vox_
2005-02-03 16:02
2005.02.20
Как через OLE читать/изменять свойства Word документа ?