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

Вниз

Обьясните, пж, почему поток без sleep(1) тормозит?   Найти похожие ветки 

 
Zilog ©   (2005-02-24 12:31) [0]

Обьясните, пж, почему поток без sleep(1) тормозит?

Что собственно, Sleep(1) делает? (кроме задержки в одну мс)


 
Инструктор   (2005-02-24 12:32) [1]

кто тормозит? как это выражается?


 
DiamondShark ©   (2005-02-24 12:32) [2]

Кроме задержки он ещё передаёт процессорное время другим потокам.


 
Zilog ©   (2005-02-24 12:38) [3]

А где про это можно подробно почитать?


 
DiamondShark ©   (2005-02-24 12:45) [4]

Поставить курсор на слово Sleep и нажать F1.


 
Digitman ©   (2005-02-24 12:46) [5]


> Zilog ©   (24.02.05 12:38) [3]
> А где про это можно подробно почитать?


в MSDN, в Microsoft Knowledge Base


 
Anatoly Podgoretsky ©   (2005-02-24 12:58) [6]

Насчет торможения мы так и не узнаем.


 
Zilog ©   (2005-02-24 13:54) [7]

>>(24.02.05 12:58) [6]

така чего узнавать то? На форуме куча тем была с вопросом почему тормозит поток и с советами вставить sleep. Прдполагалось, что с ситуацией знакомы многие.


 
Инструктор   (2005-02-24 13:57) [8]

так поток тормозит сам по себе или тормозит что другое? Формулировать верно уборщица тетя Глаша будет?

вот что тут тормознутого:

for i:=1 to 1000 do begin
......

end;

в сравнении с:

for i:=1 to 1000 do begin
......
sleep(1)
end;


?!


 
VMcL ©   (2005-02-24 14:15) [9]

>>Инструктор   (24.02.05 13:57) [8]

Я бы даже сказал как раз наоборот: второй вариант более тормознутый.
:D


 
Anatoly Podgoretsky ©   (2005-02-24 14:24) [10]

Zilog ©   (24.02.05 13:54) [7]
Не то! Тебе Инструктор   (24.02.05 12:32) [1]
кто тормозит? как это выражается?

Задал конкретный вопрос. Будь добр ответит на него, может окажется все с точностью наоборот.


 
DiamondShark ©   (2005-02-24 14:25) [11]

Попробуем протелепать.
"Тормозит" == "занимает много процессорного времени".
Угадал?


 
Anatoly Podgoretsky ©   (2005-02-24 14:33) [12]

Не ну это к торможению никакого отношения не имеет. Интересует ответ количественный, например со sleep(1) поток отрабатывает за N ms, а без него за N+M ms


 
Jolik ©   (2005-02-24 18:28) [13]

дело в том, что когда Вы вызываете sleep - это значит Вы сами передаете управление другим потокам и система знает, что в течение одной милисекунды вам его можно не возвращать. В общем случае Вы передаете управление "процессу" который зовется "Бездействие системы" - поэтому снижается показатель загрузки процессора, ибо он там не учавствует.
Если sleep не вызывать - "Бездействие системы" никогда не получит управление, но это не значит, что комп будет медленно работать, ибо многозадачность в NT вытесняющая.
Но, все равно, так делать нельзя, хотя бы потому, что пользователь когда увидет - ахнет, и будет смеяться...


 
Набережных С. ©   (2005-02-24 18:51) [14]


> Jolik ©   (24.02.05 18:28) [13]


> Если sleep не вызывать - "Бездействие системы" никогда не
> получит управление, но это не значит, что комп будет медленно
> работать, ибо многозадачность в NT вытесняющая.
> Но, все равно, так делать нельзя, хотя бы потому, что пользователь
> когда увидет - ахнет, и будет смеяться...

Дык смеяться уже хочется, даже еще не глянув и не ахнув...


 
iskatel ©   (2005-02-25 00:20) [15]

2Jolik а ты поставь бездействию системы приоритет time critical :-)

2Zilog
/"...На форуме куча тем была с вопросом почему тормозит поток..."/
так чего тебе еще надо то???



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
1-1109497219
Sam Stone
2005-02-27 12:40
2005.03.13
Работа с экселем


14-1109060950
kai
2005-02-22 11:29
2005.03.13
23 февраля


11-1091013654
kosend
2004-07-28 15:20
2005.03.13
динамическое удаление и вставка в TMenu


4-1107077574
Максим
2005-01-30 12:32
2005.03.13
Выключение компьютера


8-1101375728
Дмитрий Ботвин
2004-11-25 12:42
2005.03.13
Объемный текст





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