Форум: "Начинающим";
Текущий архив: 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.045 c