Memory ManagementPodręcznik PHPPoprzedniRozdział 26. Source LayoutNastępnyMemory Management
Resource management is a crucial issue, especially in server
software. One of the most valuable resources is memory, and memory
management should be handled with extreme care. Memory management
has been partially abstracted in Zend, and you should stick to
this abstraction for obvious reasons: Due to the abstraction, Zend
gets full control over all memory allocations. Zend is able to
determine whether a block is in use, automatically freeing unused
blocks and blocks with lost references, and thus prevent memory
leaks. The functions to be used are described in the following
table:
FunctionDescriptionemalloc()Serves as replacement for
malloc().efree()Serves as replacement for
free().estrdup()Serves as replacement for
strdup().estrndup()Serves as replacement for
strndup(). Faster than
estrdup() and binary-safe. This is the
recommended function to use if you know the string length
prior to duplicating it.ecalloc()Serves as replacement for
calloc().erealloc()Serves as replacement for
realloc(). emalloc(),
estrdup(), estrndup(),
ecalloc(), and erealloc()
allocate internal memory; efree() frees these
previously allocated blocks. Memory handled by the
e*() functions is considered local to the
current process and is discarded as soon as the script executed by
this process is terminated.
Ostrzeżenie
To allocate resident memory that survives termination of
the current script, you can use malloc() and
free(). This should only be done with extreme
care, however, and only in conjunction with demands of the Zend
API; otherwise, you risk memory leaks.
Zend also features a thread-safe resource manager to
provide better native support for multithreaded Web servers. This
requires you to allocate local structures for all of your global
variables to allow concurrent threads to be run. Because the
thread-safe mode of Zend was not finished back when this was written,
it is not yet extensively covered here.
PoprzedniSpis treściNastępnyMacrosPoczątek rozdziałuDirectory and File Functions
Wyszukiwarka
Podobne podstrony:
memory managementzend layout complex typeszend layout dir and filezend layout string handlingzend layout macroszend layoutoption theme?vanced layout managerUsing the EEPROM memory in AVR GCCAdvanced Project Management?ycja polska?promconfiguration change management81A290memory czasowniki j angielski i NieznanylayoutManagerFactoryParameterswięcej podobnych podstron