![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
таймер [D6]
AndreyAG © (2002-10-07 10:22:00)Уважаемые мастера! Помогите пожалуйста! Мне нужно вызывать некоторую функцию с очень маленьким интервалом времени (меньше чем позволяет стандартный таймер). Как это сделать? Зараннее благодарен.
Внук (2002-10-07 11:44:00) [1]Все равно интервалы будут колебаться от нескольких десятков микросекунд до нескольких секунд в зависимости от загруженности машины и приоритета других задач
Sectey (2002-10-07 11:39:00) [2]Win2k, NT позваляет работать с интервалами времени > 15 мкс.
Win9x > 80 мкс. На меньшее расчитывать не приходится.
Все проверено. Но зависит от загрузки.
Как вариант организовывать отдельный поток и внем крутить что то типа:
where not tremineted do
begin
sleep(интервал);
Synchronize(твоя процедура);
end;
Но необходимо учитывать особености работы с отдельными потоками.
int64 (2002-10-07 11:29:00) [3]Если очень хочется 50 микросекунд, можно это время прцессор "греть", не давая слова другим потокам. :) Типа задержки между вызовами функции.
Тоже не панацея, к тому же всё висеть будет.
AndreyAG (2002-10-07 10:56:00) [4]Система у меня Win2000. Нужный интервал порядка 50 микросекунд.
Внук (2002-10-07 10:34:00) [5]Я бы не закладывался на такие требования к интервалам, все равно Win не есть система реального времени, какой смысл?
MBo (2002-10-07 10:24:00) [6]TimeSetEvent - теоретически 1 миллисекунда, практически, конечно, хуже.
ОС какая? В Win2K есть Waitable Timer