Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 29 | 5 | 12
Назад Вниз Каталог Обновить

Аноним 22/10/17 Вск 13:17:32  163440253  
Так, как работают демоны в операционке, поясните?

Вот есть веб-сервер, он что-то слушает. Он должен маскимально быстро обработать поступивший запрос. Ок, предположим, что listener реализован через цикл while true ...
Но вот я пишу while true на РУБИ - и процесс начинает жрать весь CPU. Почему же nginx не жрет в idle режиме весь CPU? Как это реализовано?

Ок, допустим, там таймаут - 0.001 секунда, но это же дохуя? Процесс ruby с таким таймаутом уже жрет 2,8% CPU, но это все равно много
Аноним 22/10/17 Вск 13:20:51  163440426
Бамп
Аноним 22/10/17 Вск 13:22:26  163440511
>>163440253 (OP)
> Так, как работают демоны в операционке
П Р О С Т О
Р
О
С
Т
О
Аноним 22/10/17 Вск 13:22:55  163440544
>>163440253 (OP)
https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B5%D1%80%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
>/thread
Аноним 22/10/17 Вск 13:38:11  163441435
>>163440544
Нихуя не понял, конечно, хули /thread то? Кто шлет прерывание? Вот идет запрос GET /, каким образом это конвертируется в прерывание?
Аноним 22/10/17 Вск 13:44:10  163441729
>>163441435
учи ccna
Аноним 22/10/17 Вск 13:46:33  163441842
14165898482260.gif (58Кб, 129x111)
>>163440511
По моему, ты слегка охуел, не так ли?
Аноним 22/10/17 Вск 13:46:37  163441849
>>163441729
Неужели это так сложно, что нельзя объяснить парой абзацев?
Аноним 22/10/17 Вск 13:48:13  163441937
14359296073110.jpg (75Кб, 750x679)
>>163441849
Думаю ОП, что сложновато, и к тому же он весьма вероятно сейчас дрочит свое дрисло морковкой, а ты его отвлекаешь. Да, мне кажется это главная причина.
Аноним 22/10/17 Вск 13:48:33  163441961
>>163441849
да пиздец сколько всего выписывать, если ты думаешь что это операционка делает
Аноним 22/10/17 Вск 13:51:56  163442147
>>163441961
А кто это делает?
Аноним 22/10/17 Вск 13:53:33  163442228
8073769.jpg (55Кб, 604x403)
cain1.jpg (463Кб, 1305x1825)
>>163442147
Я не знаю, но вот тебе тарелка и робот.
Аноним 22/10/17 Вск 13:53:39  163442234
>>163440253 (OP)
Не стоит вскрывать эту тему.
Аноним 22/10/17 Вск 13:54:43  163442291
>>163442234
Ребята, давайте вскроем эту тему, стоит интересоваться этой темой. Вы молодые, здоровые, умные. Это то что надо. Это яхты и виллы. Сюда нужно вливаться незамедлительно. Серьезно, любой из вас будет счастлив от такого. Это лучше чем сидеть на жопе и создавать треды про еот. Я вполне понимаю что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь — самое опасное в жизни — прожить ее, не заметив, как она прошла, будучи серой мышью. Остальные просто не будут такими умными чтобы сделать все чисто
Аноним 22/10/17 Вск 13:59:26  163442530
>>163442228
Тот умник мелкобуквенный, пусть лучше он ответит.
Аноним 22/10/17 Вск 14:15:07  163443349
бамп
Аноним 22/10/17 Вск 14:17:08  163443473
>>163443349
Пошел нахуй. Если не понимаешь, значит это тебе не нужно.
Аноним 22/10/17 Вск 14:21:30  163443743
>>163443473
Сам иди нахуй с такой логикой
Аноним 22/10/17 Вск 14:22:17  163443793
>>163440253 (OP)
>Но вот я пишу while true на РУБИ - и процесс начинает жрать весь CPU.
Любой процесс в while(tru) будет драть CPU.
>Почему же nginx не жрет в idle режиме весь CPU?
Они читали мануал и книгу по сетям.
>Как это реализовано?
Довольно просто.

Аноним 22/10/17 Вск 14:27:28  163444179
Сука, весь тред кидаются тегами и пишут, что довольно просто, но никто ничего разумного не объяснил.

>Как работает электрическая лампочка накаливания, как свет возникает в ней?
>ТОК)))0
>читай физику за 10 класс
>очень просто))
Аноним 22/10/17 Вск 14:32:29  163444625
>>163440253 (OP)
Ты уверен, что хочешь с нуля писать веб-сервер, не имея представления о работе сети? Есть куча готовых реализаций, они МАКСИМАЛЬНО БЫСТРЫЕ.
Аноним 22/10/17 Вск 14:38:43  163444977
>>163444625
По пути выучу основы, я же для себя хочу написать

Читаю вот TCP/IP Illustrated (а после буду HTTP guide собрался).

Но вопрос ОП-поста мучает меня сейчас
Аноним 22/10/17 Вск 14:39:08  163444999
>>163440253 (OP)
man epoll
Аноним 22/10/17 Вск 14:48:16  163445423
Screen Shot 201[...].png (130Кб, 2250x574)
>>163440253 (OP)
В посте присутствует слово из спам листа. Обезьяна пидор.
Аноним 22/10/17 Вск 14:54:39  163445746
>>163445423
Каким механизмом сделано так, что doShit() привязан к событию клика?
Аноним 22/10/17 Вск 14:55:17  163445781
>>163440253 (OP)
Потому что они нормально взаимодействуют с ядром.
Аноним 22/10/17 Вск 14:57:07  163445868
>>163440253 (OP)
select, poll, epoll, ruby async server ---> гугл
Аноним 22/10/17 Вск 14:59:35  163446002
>>163445423
chronou$

Он еблан походу, а не пидор
Аноним 22/10/17 Вск 15:05:45  163446308
>>163444977
Боюсь, на руби/питоне нельзя реализовать работу с сетью на низком уровне, скриптовые языки предоставляют более высокоуровневое апи для сокетов.

Этот >>163445423- петух написал в принципе верно, но без конкретики. А в твоем конкретном случае тебе надо использовать функцию select в либе sockets. Это в питоне так, ну в руби наверняка сделано аналогично. Обработка запросов будет выглядеть примерно так:

rlist, wlist, xlist = [], [], []
while True:
select(rlist, wlist, xlist, timeout)
do_work(rlist, wlist, xlist)
Аноним 22/10/17 Вск 15:06:00  163446320
>>163445746
В каждом языке-фреймворке свои методы. В жабаскрипте, например, гугли таймеры, коллбеки, промисы.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 29 | 5 | 12
Назад Вверх Каталог Обновить

Топ тредов
Избранное