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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.021 c
2-1191514478
Pacific
2007-10-04 20:14
2007.10.28
Можно ли...


2-1191433198
(MiTch)
2007-10-03 21:39
2007.10.28
Управление камерой


11-1175009897
ElectriC
2007-03-27 19:38
2007.10.28
a-la Application.MessageBox()


3-1182402966
Xmen
2007-06-21 09:16
2007.10.28
TreeView и данные из таблицы


2-1191237092
абв
2007-10-01 15:11
2007.10.28
blob и jpg