| ||||||||||||||||||
Работа с памятьюМенеджмент ресурсов это ключевой вопрос, особенно в серверных программах. Одним из самых значимых ресурсов является память, и работа с памятью должна выполняться предельно внимательно. Менеджмент памяти частично абстрагирован в Zend, и вы должны это учитывать по очевидным причинам: при абстрагировании, Zend получает полный контроль над всеми участками памяти. Zend способна определять, используется ли блок, автоматически освобождать неиспользуемые блоки и блоки с потерянными ссылками и таким образом предотвращать утечки памяти. Используемые функции перечислены в таблице:
emalloc(), estrdup(), estrndup(), ecalloc() и erealloc() выделяют внутреннюю память; efree() освобождает эти ранее выделенные блоки. Память, обрабатываемая функциями e*(), считается локальной относительно текущего процесса и разрушается после окончания работы скрипта, выполняемого этим процессом.
Zend также предлагает thread-safe resource manager для улучшения встроенной
поддержки многопоточных Web-серверов. При этом требуется, чтобы вы выделяли
локальные структуры для всех ваших глобальных переменных, чтобы дать
возможность работать конкурирующим потокам. | ||||||||||||||||||
|