![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
Spalax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 21.3.2005 Репутация: нет Всего: нет |
Вообщем ооочень нуждаюсь в умном совете .
Проблема заключаеться в том что у меня есть Парент который стартует 18 чаелдов все они находяться в состоянии accept . Когда они получают запрос от клиента они организуют из етого запроса понятный путь к файлу и вот сдесь мне не надо чтобы он лез в файл сразу ... а надо чтобы он залез в общий кешь посмотрел есть ли там а если нету то только тогда лез в файл .... надеюсь все поняли ... просто сама проблема в том что я уже организововал тако кешь ... но увы сервер сказал "кря" через 2 суток работы потому что каждый процес при старте копировал огромный масив себе плюс пополнял его .... + отрабатывал 14 клиентов и родитель его закрывал соответствено вызывая нового чаелда ... вообщем такая вот вертушка .... если у кого есть путные идее выслушаю очень поможете.... У меня ФРЯ 4.4 из средств IPC можно юзать только mmap ну и семейство Shared Memmory Типа shm_*** |
|||
|
||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
Spalax,
Вы не могли бы поподробней описать технические аспекты вашей проблемы ? "Сервер сказал "кря"" это, извиняюсь, не проблема, это извиняюсь, диагноз. В чем тех. проблема ? В передаче данных между процессами ? Медленно копируется весь массив ? Что за массив ? Почему он копируется ? В блокировке, чтоб одновременно не модифицировали данные ? Какие данные ? Почему нужна блокировка ? Да, и mmap это не средство IPC если уж на то пошло. . Добавлено @ 07:34 P.S void * ptr;
По логике должна выдать (ptr) кусок (4096) байт. Который будет доступен всем процессам даже после fork'а. Может вам это надо ? |
|||
|
||||
Spalax |
|
|||
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 21.3.2005 Репутация: нет Всего: нет |
Вообщем мой кешь отъедал здоровенный кусок памяти так как каждый процесс копировал себе динамический массив такого вида
map <string,string> cache Это сообщение отредактировал(а) Spalax - 18.5.2006, 09:52 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |