Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];

Вниз

Как поменять приоритет 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
1-2938
werr
2003-05-20 17:10
2003.06.02
как определить каталог, откуда запускалась программа?


14-3067
Laxer
2003-05-16 11:08
2003.06.02
Сумма столбца DBGrid


14-3110
yaJohn
2003-05-14 12:57
2003.06.02
Контроль версий - быстро, дешево и сердито.


3-2747
AlexGreg
2003-05-13 12:57
2003.06.02
... Медленно встаёт ...


7-3190
Jel
2003-04-02 12:28
2003.06.02
Повторный вызов RASDial





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский