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

Вниз

Сдерживание потоков   Найти похожие ветки 

 
hinst   (2007-10-04 22:06) [0]

Здраствуйте;
Есть ли что-то вроде Delay для использования в потоках. Например, если я хочу, чтобы поток делал что-то каждые 5 сек, а между ними не жрал процессор. Пробовал таймер в поток засунуть, но он не работает что-то...
Спасибо за внимание;


 
DVM ©   (2007-10-04 22:08) [1]

sleep


 
hinst   (2007-10-04 22:12) [2]

а что это не работает в методе execute из потока self.sleep?


 
DVM ©   (2007-10-04 22:15) [3]


> а что это не работает в методе execute

из Execute это работает


> self.sleep

это что?


 
Anatoly Podgoretsky ©   (2007-10-04 22:22) [4]

> hinst  (04.10.2007 22:12:02)  [2]

Что бы это значило?


 
korneley ©   (2007-10-04 23:47) [5]


>... между ними не жрал процессор....
Но ведь кто-то будет, все равно, следить за временем, со всеми вытекающими...


 
DrPass ©   (2007-10-05 01:11) [6]


> Но ведь кто-то будет, все равно, следить за временем, со
> всеми вытекающими...

Как правило, есть еще масса потоков, которым есть чем занять процессор в это время


 
Anatoly Podgoretsky ©   (2007-10-05 01:44) [7]

> korneley  (04.10.2007 23:47:05)  [5]

Система будет следить, без всяких вытекающих.


 
Инс ©   (2007-10-05 10:32) [8]

Sleep указывает системе, что в течение данного периода поток нужно исключить из числа планируемых. При каждом прерывании от системного таймера, управление получает планировщик, вычитает из времени ожидания потока необходимое число и если время ожидания истекло - принимает решение включить поток в список планируемых и ставит его в очередь.


> Как правило, есть еще масса потоков, которым есть чем занять
> процессор в это время

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


 
Однокамушкин   (2007-10-05 10:35) [9]


> korneley ©   (04.10.07 23:47) [5]
>
> >... между ними не жрал процессор....
> Но ведь кто-то будет, все равно, следить за временем, со
> всеми вытекающими...

Планировщик задач срабатывает при каждом прерывании от таймера, если в этот момент не выполняется более приоритетная задача, и отъедает очень мало времени... Каждый раз при этом планировщик задач решает, какой нити передать очередной квант времени, а нити, вызвавшей Sleep, он просто не передаётся до истечения таймаута, так что никакой дополнительной нагрузки на процессор нет



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

Форум: "Начинающим";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.048 c
6-1171023506
Alek_1
2007-02-09 15:18
2007.10.28
Как определить хендл открытого удаленного подключения к ине...


2-1189885813
vasIZmax
2007-09-15 23:50
2007.10.28
ini-file


11-1174582796
ElectriC
2007-03-22 19:59
2007.10.28
Collapse


15-1190802582
em240
2007-09-26 14:29
2007.10.28
C#+icq


2-1191784004
Альберт
2007-10-07 23:06
2007.10.28
потоки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский