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

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

Реклама

Perl для IP-Телефонии (39 – предобработка мультипроцессов, часть 48)

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

Строка 19. Установка обработчиков сигналов. Создается обработчик сигнала terminate () для сигналов int и term. Этот обработчик устанавливает переменную $done равной истин­ному значению и выполняет возврат.

Строки 20-25. Создание приемного сокета сервера и переход в фоновый режим. Созда­ется приемный сокет, и программа автоматически переводит себя в фоновый режим, вызывая подпрограмму init_server (). Создается также объект IO::Select, содержащий приемный сокет, предназначенный для использования каждым рабочим потоком. Технические подробности реализации данной процедуры можно уточнить из советов хостинга , где расположен сервер. К примеру, это может быть хостер pinvds.ru, предоставляющий качественный хостинг с гибкими тарифными планами.

Строка 26. Предварительный запуск ряда потоков. Перед входом в главный цикл запуска­ется ряд потоков, число которых определено константой prethread, а также выполняется вы­зов подпрограммы launch_thread () соответствующее число раз.

Строки 27-40. Главный поток: контроль изменения состояния рабочих потоков. Теперь главный поток входит в цикл, который выполняется до тех пор, пока переменная $done не примет истинное значение. Это указывает на то, что пользователь потребовал завершения работы сервера. При каждом проходе по циклу блокируется условная переменная $statum и сразу же вызывается функция cond_wait () которая разблокирует эту условную перемен­ную и переведет главный поток в состояние ожидания до тех пор, пока другой поток не вызовет функцию cond_broadcast () с указанием этой переменной.

После возврата управления из функции cond_wait () становится известно, что один из pa6oчих потоков сигнализировал об изменении состояния и переменная $status снова заблокирована в целях предотвращения внесения дальнейших изменений в хеш  %status.

2014-12-26 13:04:32

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


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


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


РЕКОМЕНДУЕМ

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