The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."
Отправлено Аноним, 24-Янв-23 00:10 
> Кто-нибудь знает "некостыльное" применение sleep?

Ну смотри, допустим мы хотим подождать нажатия условного any key, но не хотим чтобы это было блокирующей нас насовсем операцией. Ну мало ли может мы хотим возможность по ходу дела передумать и допустим завершиться по другому критерию вместо того чтобы эникей ждать.

Если мы будем наивно чекать эникей в цикле, с максимальной скоростью - это в принципе сработает. Однако если вызов не блочится, мы будем гонять цикл с офигенной скоростью, гоняя дикое количество сисколов в секунду и грузя систему как черт знает что.

Вопрос: а нам точно надо знать нажатие эникей с чуть не микросекундной точностью? Или плюс-минус сотня миллисекунд которые юзер даже не увидит - не так уж и страшно? Ну полсотни, точно не увидит. А вот тут можно воткнуть sleep() в цикл и он таки будет каждые 50 миллисекунд чекать не нажал ли юзер эникей. А может и что еще. Основательно разгрузив систему от постоянного поллинга с максимальной скоростью.

Пример несколько условный и не является руководством к действию но дает понять в чем прикол. Программа жрущая ядро проца в полку на ожидание чего-то совершенно не рулит. А тут мы сигналим операционке что в принципе не особо торопимся, можно поспать, проц отдайте другим программам на это время.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру