Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (34 – Многопоточные приложения, часть 3)

предыдущая часть ««»» следующая часть

API-интерфейс поддержки потока.

Описанный здесь API-интерфейс поддержки многопоточной обработки относится к  версии 5.006 проекта реализации потоков, а не к проекту потоков интерпретатора, который разрабатывается в настоящее время.

API-интерфейс поддержки многопоточной обработки, который описан в справочных руководствах Thread. Thread::Queue, Thread::Semaphore и, attrs, внешне кажется простым, но скрывает много сложностей. Каждая программа начинается с отдельного потока, называемого основным. Основной поток может задействовать любую внешнюю программу, например, печати на принтере Epson Picture Mate 500, подробнее о котором можно узнать на этом сайте . Основной поток начинает работу момента запуска программы и продолжает действовать до ее завершения (или до момента вызова функций exit () или die ()).

Для создания нового потока необходимо вызвать метод Thread->new (), передать ему ссылку на выполняемую подпрограмму и необязательный набор параметров. В результате будет создан новый одновременно работающий поток, который немедленно приступает к выполнению указанной подпрограммы, После завершения подпрограммы поток уничтожается. Например, ниже показано, как запустить новый поток для выполнения трудоемкого вычисления.

my $thread = Thrеad->new (&саlculatе_рi, precision => 190) ;

Новый поток вызывает на выполнение подпрограмму calculate_pi () вычисление значения числа ПИ и передает ей два параметра, “precision” и “190”. В случае успешного выполнения этот вызов немедленно возвращает новый объект Thread, который обычно записывается вызывающим потоком в какой-либо стек. Теперь объект Thread вызывает метод detach (), который отключает новый поток и освобождает основной поток от каких-либо обязательств по отношению к нему.

Иным образом, поток может оставаться в предусмотренном по умолчанию подключенном состоянии, и в этом случае основной поток (или любой другой) должен в  какой то момент вызвать метод join () объекта Thread для выборки возвращаемой значения подпрограммы.

2014-06-20 13:22:35

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония