Главная страница
    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.05 c
15-1191480540
MBo
2007-10-04 10:49
2007.10.28
50 лет первому ИСЗ


6-1171944967
zap8
2007-02-20 07:16
2007.10.28
(GET) Как более эффективно "избавиться от заголовка" полученнного


1-1187006465
Dio
2007-08-13 16:01
2007.10.28
Эмулировать прокрутку колеса мыши


6-1172819387
zap8
2007-03-02 10:09
2007.10.28
Дата создания принятого файла по сети


11-1174499479
ElectriC
2007-03-21 20:51
2007.10.28
KOL ft BDS 2005





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