Автор Тема: SharedMemory  (Прочитано 2155 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Voyager2K

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 41
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
SharedMemory
« : 09 Марта 2005, 23:32:29 »
Слышал про такую штуку и даже немного нашел что почитать.
http://ief.tup.km.ua/docs/php/ref.shmop.html

Однако никакой больше инфы не смог найти по этой тематике. Не подскажите что и как ? И где можно почитать побольше про все это ?

Пока появился ряд вопросов.

1. При шаре памяти указывается ее адрес типа 0xff3 Я не особо разбираюсь в принципах хранения инфы на различных носителях. Поэтому хочется узнать что это за адреса и в каком диапозоне они могу быть ? А то я только понимаю что это шестнадцатиричный код(так же было написано что можно и в десятичном указывать). Может ли получится такое что этот адресс с памятью будет уже забит другим приложением ? Как такого избежать ? Может ли оказаться что такого адреса вообще не будет ?

2. Как ни будь можно дописывать в блок памяти ? А то в функции записи shmop_write три параметра и все обязательные. Последний - позиция в которую записывать. Но нет возможности узнать даже длины записанного сразу. Единственные выход прдуманные мной - сначала чтение всего из памяти в строку, получение длины строки и запись в блок памяти с позиции "длины" строки.


3. Как органижзовать обращение двух приложений так и не понял. Нужно просто предыдущим скриптом не делать shmop_close или shmop_delete ? В чем между ними разница ?

4. Где то видел изречение что шары не защищены от проблем при одновременном обращении к памяти нескольких приложений. Так ли это ? Нельзя никак заблокировать память на время обращений скрипта ? Там же говорилось что эта проблема минуется симафорами(semaphore).

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28