[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Shared Memory
RealMan
есть ли защита от одновременного доступа в ПХП при использовании Shared Memory?

в часности при использовании функций shmop_write и shmop_read.

если нету, то подскажите как использовать эту память чтобы не было проблем с одновременным доступом?
т.е. чтобы скрипты обращались к ней строго по очереди.


Заранее большущее спасибо любой подсказке.



Спустя 20 минут, 53 секунды (9.04.2009 - 15:32) sergeiss написал(а):
Дык... А чего сделать-то надо? Может, проще через БД?

Спустя 7 часов, 13 минут, 33 секунды (9.04.2009 - 22:46) RealMan написал(а):
Есть(будет) демон ПХП, который всегда запущен и строго в единственном числе.

и есть произвольно(ну конечно не совсем поизвольно smile.gif ) запускаемые ПХП скрипты, которые должны передавать данные в демон. такие скрипты могут быть запущены соответственно одновременно в паралель.

при этом задача стоит максимально снизить время реации демона на передаваемые данные.

конечно, это можно сделать через БД, через папку с файлами. но оба этих решения как мне кажется сильно будут грузить дисковую систему, если демон будет без задержек в бесконечном цикле опрашивать или БД или файл.

Вот собственно начал искать способ реализации через общий сегмент памяти ...

Спустя 9 часов, 25 минут, 33 секунды (10.04.2009 - 08:11) sergeiss написал(а):
Описанная тобой задача - как раз для AJAX. Если я правильно понял, что ты хочешь.
Ведь эту задачу можно интерпретировать в немного других терминах: есть некие сервер (не твой "демон", а нечто другоео). И есть клиенты: как раз твой "демон" и все скрипты, запускаемые пользователями. И все эти клиенты организуют чат, чтобы оперативно общаться.
Разница с обычным чатом в том, что тут скрипты сами будут передавать всё, что надо. Но сам принцип тот же самый.
А то так и вообще, может быть, при использовании AJAX не понадобится никакой "демон"?

И, к тому же, это решение будет более универсальное, т.к. никак не будет сказываться специфика операционной системы. В твоем же случае можно получить проблемы непереносимости скрипта от одного хостера к другому. И при условии, что вообще что-то нормальное там получится.

Спустя 45 минут, 45 секунд (10.04.2009 - 08:57) RealMan написал(а):
Неа, не правильно понял smile.gif)

и в твоей аналогии не увидел какую роль играет "есть некие сервер (не твой "демон", а нечто другоео). "

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

при этом использование аякса никаким образом не решает проблему передачи данных от "клиентов" к демону пусть даже запущенных аяксом.

ладно, конкретизирую еще немного:
скрипты запускаются sendmail'ом , т.е. выполнение всей этой схемы вообще не связано с вебом.

или может быть вы знаете более простой способ передачи писем от сендмайл в ПХП-демон? при том что демон все время запущен и в единственно числе. еще раз это подчеркну smile.gif

ЗЫЖ если интересно что получится потом ссылку дам smile.gif

Спустя 36 минут, 11 секунд (10.04.2009 - 09:33) sergeiss написал(а):
Интересно, что ты подразумеваешь под "ПХП-демоном"? ПХП создает страницы для браузеров, согласно поступающим запросам. Скрипт не "висит" в памяти и ничего не ждет!!! Вот вызвать скрипт можно, когда это требуется.

Поэтому твой "демон" может быть только страницей в браузере, которая через AJAX "держит руку на пульсе" сервера.

Если же ты хочешь по-другому, то тогда смотри в сторону другого языка.

Спустя 1 час, 28 минут, 30 секунд (10.04.2009 - 11:02) vasa_c написал(а):
http://ru2.php.net/manual/en/function.shmop-open.php - здесь есть $flag.
На худой конец можно в самой Shared Memory своими силами организовать семафоры и т.п.

Спустя 6 минут, 16 секунд (10.04.2009 - 11:08) RealMan написал(а):
Откуда такое поверхностное представление о таком могучем языке?

Это вам не яваскрипт же smile.gif


Вообще, чистой воды оффтоп пошел. ВОпрос не в том, что я реализую, как и все прочее. а в том, защищена или нет shared memory от одновременного доступа?

Спустя 11 минут, 5 секунд (10.04.2009 - 11:19) RealMan написал(а):
В сторону симафоров и так смотрю, просто думал если в шаред мемори есть защита, то не парился бы и смело использовал ее ...


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.