П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3520 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6121 раз(а).

Учебник HTML.
Просмотров 3276 раз(а).

Руководство по PHP5.
Просмотров 5497 раз(а).

Хостинг через призму DNS.
Просмотров 4145 раз(а).

Подборка текстов стандартных документов.
Просмотров 55773 раз(а).

Учебник PHP - Самоучитель
Просмотров 3091 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 5728 раз(а).

Внешние атаки...
Просмотров 3841 раз(а).

Учебник PHP.
Просмотров 2825 раз(а).

SSI в примерах.
Просмотров 37463 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Учебник РНР
НазадГлава 27. Строение Исходного Кода Вперёд

Работа с памятью

Менеджмент ресурсов это ключевой вопрос, особенно в серверных программах. Одним из самых значимых ресурсов является память, и работа с памятью должна выполняться предельно внимательно. Менеджмент памяти частично абстрагирован в Zend, и вы должны это учитывать по очевидным причинам: при абстрагировании, Zend получает полный контроль над всеми участками памяти. Zend способна определять, используется ли блок, автоматически освобождать неиспользуемые блоки и блоки с потерянными ссылками и таким образом предотвращать утечки памяти. Используемые функции перечислены в таблице:
ФункцияОписание
emalloc()Заменяет malloc().
efree()Заменяет free().
estrdup()Заменяет strdup().
estrndup()Заменяет strndup(). Быстрее, чем estrdup(), и безопасна в двоичном режиме/binary-safe. Это рекомендуемая функция, когда вы знаете длину строки до её дублирования.
ecalloc() Заменяет calloc().
erealloc() Заменяет realloc().

emalloc(), estrdup(), estrndup(), ecalloc() и erealloc() выделяют внутреннюю память; efree() освобождает эти ранее выделенные блоки. Память, обрабатываемая функциями e*(), считается локальной относительно текущего процесса и разрушается после окончания работы скрипта, выполняемого этим процессом.

Предупреждение!

Для выделения резидентной памяти, которая сохраняется после окончания работы текущего скрипта, вы можете использовать malloc() и free(). Это нужно делать очень осторожно и только в сочетании запросом Zend API; иначе вы рискуете получить утечки памяти.

Zend также предлагает thread-safe resource manager для улучшения встроенной поддержки многопоточных Web-серверов. При этом требуется, чтобы вы выделяли локальные структуры для всех ваших глобальных переменных, чтобы дать возможность работать конкурирующим потокам.
Поскольку режим thread-safe Zend ещё не разработан окончательно, мы не можем включить его рассмотрение в эту книгу.


НазадОглавление Вперёд
МакросыВверх Функции работы с файлами и директориями


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru