Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
11-1174590108
Dmitriy___
2007-03-22 22:01
2007.10.28
Два ImageList


4-1177292492
Cj
2007-04-23 05:41
2007.10.28
Раскрытие процесса


15-1190699158
YuriKoltsov
2007-09-25 09:45
2007.10.28
Printer selected is not valid


2-1191351217
Pacific
2007-10-02 22:53
2007.10.28
нажатие


2-1191840185
Term
2007-10-08 14:43
2007.10.28
Как узнать в событии OnClick имя компонента по которому кликнул




   Наверх