Новые книги

Книга о том, как неукоснительное соблюдение корпоративной дисциплины может привести к скорым и неожиданно успешным результатам. Авторы уверены, что, несмотря на отсутствие неопровержимых эмпирических доказательств того, команды обеспечивают более высокие результаты эффективнее, чем не организованные в команды группы.
With this practical book, you will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications.

The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O.

This book offers an in-depth description of the IEEE operating system interface standard, POSIX (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset.

Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.

msg_send

Учебник РНР
Назад Вперёд

msg_send

(только PHP 4 CVS)

msg_send - отправляет сообщение в очередь сообщений.

Описание

bool msg_send (int queue, int msgtype, mixed message [, bool serialize [, bool blocking [, int errorcode]]])

msg_send() отправляет сообщение message типа msgtype (который ОБЯЗАН быть больше 0) в очередь сообщений queue.

Если сообщение слишком большое, чтобы вместиться в очередь, ваш скрипт будет ожидать, пока другой процесс не прочтёт сообщения из очереди и не освободит достаточно пространства для пересылки вашего сообщения. Это называется блокировкой; вы можете предотвратить блокировку, установив необязательный параметр blocking в FALSE; в этом случае msg_send() немедленно возвратит FALSE, если сообщение слишком велико для очереди, и установит необязательный errorcode в EAGAIN, указывая на то, что вы должны попытаться отправить сообщение снова немного позднее.

Необязательный параметр serialize контролирует то, как сообщение message отправляется. serialize по умолчанию имеет значение TRUE, т.е. message сериализуется с использованием того же механизма, что и в модуле сессии, перед отправкой в очередь. Это позволяет отправлять сложные массивы и объекты другим PHP-скриптам или, если вы используете WDDX-сериализатор, - любому WDDX-совместимому клиенту.

При успешном выполнении структура очереди сообщений обновляется так: в msg_lspid устанавливается process-ID вызывающего  процесса, msg_qnum увеличивается на 1, а в msg_stime устанавливается текущее время.

См. также msg_remove_queue(), msg_receive(), msg_stat_queue() и msg_set_queue().

Эта функция была введена в PHP 4.3.0.


Назад Оглавление Вперёд
msg_remove_queue Вверхmsg_set_queue