Главная страница
    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.035 c
3-1108034345
Mamed
2005-02-10 14:19
2005.03.13
RTF Fayli


1-1109744147
pkm
2005-03-02 09:15
2005.03.13
В Excel е залить ячейку нужным цветом.


1-1109596209
Cat
2005-02-28 16:10
2005.03.13
Почти одинаковые два проекта


1-1109317855
Pashkerton
2005-02-25 10:50
2005.03.13
Дерево подчинённости


1-1109605749
ПроНыРа
2005-02-28 18:49
2005.03.13
Компонент для работы с HTML





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