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

Вниз

Как поменять приоритет TTimer?   Найти похожие ветки 

 
Intell ©   (2003-03-30 14:33) [0]

Как сделать так, чтобы Timer не зависел от загруженности системы?


 
Ihor Osov'yak ©   (2003-03-30 15:03) [1]

Никак. Дело в том, чтобы среагировать на срабатывания таймера, соотв. поток должен получить квант времени, что может произойти с неким опозданием... Таймер гарантирует только то, что он сработает не быстрее..



 
Intell ©   (2003-03-30 16:08) [2]

А что можешь подсказать по данной теме, может компонент есть похожий на Timer?


 
NightAngel   (2003-03-30 22:23) [3]

Есть альтернатива User таймерам - это ожидаемые таймера, реализованные в ядре и поэтому менее тяжеловесные и более надежные. Они не посылают сообщений и должны ожидаться с помощью функции WaitForSingleObject или подобной. Это следующие функции API: CreateWaitableTimer, SetWaitableTimer, CancelWaitableTimer.
Но, эти функции не реализованы в Win9x.

Что можно сделать:
Функция Sleep - позволяет отсчитать заданное количество миллисекунд, не загружая при этом процессор. Во многих случаях достаточно просто вызвать эту функцию там, где нужна задержка, если потоку больше нечем заняться в течение этого интервала времени.
Отдельный поток (с высоким приоритетом), в котором будет крутиться цикл для отслеживания времени срабатывания. Цикл в отдельном потоке с вызовом Sleep с постоянным интервалом и опросом списка таймерных объектов (у каждого свой интервал, заданный клиентом) с определением момента срабатывания.


 
Intell ©   (2003-03-31 15:24) [4]

Насчет Sleep я знаю, просто хочется готовый компонент достать. А вот насчет WaitForSingleObject не знал, но всё равно не подходит, я под 9X работаю. Но пытаюсь совмещать с другими ОС. Может кто знает где можно подобный компонент достать, хоть издалека похожий?


 
Shaman_Naydak ©   (2003-03-31 19:08) [5]


> NightAngel

Я бы не сказал, что они менее тяжеловесные..

> Intell

Под Win9x эта ф-ция, само-собой, тоже работает!
Тебе дело подсказали.
А по большому счету-никак. Винды - не операционка рельного времени, хоть ты тресни


 
Intell ©   (2003-03-31 20:37) [6]

Что ж... Будем жить с этим дальше. Спасибо всем в любом случае, хотя так и не получил того, чего хотел.


 
Карлсон ©   (2003-03-31 20:42) [7]

а если посмотреть Timer из пакета GLScene ?


 
Intell ©   (2003-03-31 20:44) [8]

Карлсон, где есть?


 
Volodymyr ©   (2003-03-31 20:44) [9]

попробуй torry.net в разделе таймеров - там есть несколько похожих на то, что тебе надо...

конкртно просто не помню, извини...


 
Morfein ©   (2003-03-31 21:20) [10]

а чё, CreateThread() + Sleep() использовать никак? что-то мешает?
плюс в разумных пределах для thread"a можно приоритет устанавливать...


 
Polevi ©   (2003-04-01 12:28) [11]

>Intell © (31.03.03 15:24)
WaitForSingleObject работает на 9x


 
Intell ©   (2003-04-01 17:02) [12]

Спасибо всем, нашёл компонент. Работает КАК часы.



Страницы: 1 вся ветка

Текущий архив: 2003.06.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
1-2946
anatolyk
2003-05-20 20:13
2003.06.02
MessageDlg


1-2920
marat111
2003-05-22 19:12
2003.06.02
Перетаскиваемые компоненты


1-2995
AlickSnegov
2003-05-21 15:29
2003.06.02
Подскажите пожалуйста как осуществлять поиск в TFileStream


1-2904
Nikos
2003-05-22 17:55
2003.06.02
Как вызвать процедуру OnDrawCell объекта ТStringGrid


1-2970
Azbul
2003-05-21 10:26
2003.06.02
запись шестнадцатиричного значения в файл