Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 21 сен 2019, 13:06




Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 27 авг 2003, 13:27 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 30.08.2002
Сообщения: 2339
Откуда: Minsk
да стопудово в библиотеке, сейчас будем переходить на upstream версию
писали, но похоже не туда

единственная и самая лучшая книга
http://www.rubycentral.com/book/index.html

_________________
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 28 ноя 2003, 21:22 
Красиво, но что - то не компилится пример под Linux.
prefork.cpp: In function `int main()':
prefork.cpp:79: error: invalid conversion from `void*(*)(int*)' to `void*(*)(void*)'
prefork.cpp:85: error: invalid conversion from `void*(*)(int*)' to `void*(*)(void*)'


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 30 ноя 2003, 20:16 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 30.08.2002
Сообщения: 2339
Откуда: Minsk
хм, проверялось под gcc 2.95, вероятно с более поздними компиляторами код не дружит.

_________________
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 01 дек 2003, 14:48 
Интересующийся

У нас с: 19.08.2003
Сообщения: 65
Откуда: Anwerpen, Belgium / Belarus
2 Гость: Это поддержка более строгой типизации добралась и до C.

2 [uNIx]mend0za:

Я тут как-то наткнулся на описание следующей существовавшей проблемы с accept(). Описывается она для ядра 2.2.* - 2.3.*. Надо полагать исправлена в 2.4.
Так вот поведение ядра не совсем то что я предполагал и скажем нелогично/неэффективно - оказывается пробуждались все ожидающие потоки/процессы, правда только на уровне исполнения кода в режиме ядра, затем только один продолжал выполнение с новым соединением - возврат в пользовательский режим, остальные возвращались в спящее состояние. С точки зрения пользователя - просыпался только один, но со стороны ядра было лишняя трата времени на исполнение кода в режиме ядра.
В общем тут более подробное описание, если интересно:
http://www.citi.umich.edu/projects/linu ... ccept.html

На счет потоков на пользовательском уровне - была тут идея у меня скомбинировать принятие соединений на базе потоков ядра (pthread - которая использует эту модель 1:1), а обработку запросов на базе какой-либо библиотеки потоков пользовательского уровня. На первый взгляд кажется эффективным если большая часть (а лучше почти вся) обработки запроса идет в пользовательском режиме, т.е. нет/немного блокирующих вызовов (хотя пожалуй и это можно частично решить). В этом случае, если есть много обрабатываемых в одно и то же время запросов такого рода - то можно выиграть за счет меньшего времени переключения контекстов потоков на пользовательском уровне.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 01 дек 2003, 16:05 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 30.08.2002
Сообщения: 2339
Откуда: Minsk
проблема с accept() - читайте классиков. Стивенс "Network programming" - 1 том.
не новость.

_________________
И увидел я зверя, выходящего из тундры. И число его было 3.14159265358979324...


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100